Komfortabler Dateimanager mit vielen Funktionen

Basta

By Sven on 13.10.2007 - 15:13 in Support with 13 Kommentare

Ein Kunde bestellt das Upgrade auf SpeedCommander 12 am Freitagabend um 18.41 Uhr. Um 21.30 Uhr antwortet er auf die automatisch verschickte Bestellbestätigung:

und wo ist der Freischaltcode ????

Alle Mitarbeiter haben seit 18.00 Uhr Feierabend. Jens versucht trotzdem, möglichst viele Anfragen zeitnah zu beantworten, und schreibt um 22.28 Uhr:

Hallo Herr Mustermann*!

Bei uns arbeiten noch immer Menschen und aufgrund der vielen Bestellungen
kann es manchmal ein ganz bißchen dauern. Ich kann mich einfach nicht an den
Gedanken gewöhnen meine Mitarbeiter gegen Skripte auszutauschen und deshalb
muss ich Ihnen als Kunden leider eine ganz kleine Wartezeit zumuten.
In der Regel schaffen wir es binnen ein bis zwei Tage wenn keine Nachfragen
zur Bestellung notwendig sind.
Aufgrund der Tatsache, dass die Testversionen mindestens 30 Tage laufen
halte ich diesen Zeitraum wirklich für zumutbar und ich erhalte damit
einfach drei Arbeitsplätze in der eh schon sehr schweren wirtschaftlichen
Lage.

Ich hoffe weiterhin auf Ihr Verständnis.

Ihre Kreditkarte wird erst wenige Minuten vor dem Versenden der Keys
belastet.

Freundliche Grüße und viel Spaß mit einem tollen Programm

Ihr Jens Driese

Seine Antwort um 22.55 Uhr:

dem kann ich so nicht zustimmen,
ich kaufe bei ihnen eine Software für viel Geld, also habe ich Anspruch auf
die Vollversion mit Produktkey, der ist mir unverzüglich zu übermitteln,
basta

mfg Max Mustermann*

Da kann man echt nur noch mit dem Kopf schütteln…

* Name geändert

Finale oh oh, Finale ohohoohoooh

By Sven on 11.10.2007 - 20:23 in SpeedCommander 12 with 8 Kommentare

Seit heute Nachmittag könnt ihr euch die finale Version von SpeedCommander 12 herunterladen. Es wurden nochmals zwei kleine Fehler korrigiert, die Dokumentensymbole für mit SpeedCommander verknüpfte Archivdateien sind nun auch vistatauglich:

Dokumentensymbole für Archivdateien

In den nächsten Wochen kommt dann auch noch einmal ein kleines Update für SpeedCommander 11 mit diversen Bugfixes sowie Dieters feinem Tool zum komfortablen Exportieren/Importieren der Einstellungen.

Du hast mich intrigiert

By Sven on 09.10.2007 - 16:58 in Webweites with 6 Kommentare

Den guten Tag mein teuerer Freund!
Wie das Leben? Ich werde zur Bekanntschaft zu Ihnen glucklich sein… Zu Mir es sehr
Gut Ihre Seite auf dem Grundstuck. Ich wollte Sie wissen es ist besser!
Ich denke zu uns, wird bequem sein, wenn wir uns durch die elektronische Post umgehen werden,
Ich kann Ihnen die neuen Fotografien schicken, und, grosser uber mich sagen ist unmittelbar.

Sie konnen mir zur Adresse schreiben: anghelaz@gmail.com

Wahrscheinlich, im Laufe des Anfanges werde ich uber mich unmittelbar sagen:
Meinen Titel Anghela. Zu mir 28 Jahre. Das, was ich einen guten Charakter, und mit mir es habe
Sehr interessant. Ich hoffe zu Ihnen, soll wie, sich mit interessant zu entwickeln
Ich unsere Bekanntschaft!!!
Ich suche die zweite Halfte des Lebens, die sicheren und starken Beziehungen aufzubauen
Es ist jeder Tag unsere Herze waren naher, unsere Gefuhle wurden starker. Ich wei?,
Es ist in dieser gro?en Welt irgendwo das Herz, das ich wahnsinnig mogen wird,
Sorgen Sie sich und schutzen Sie mich! Ebenso, wie eine beliebige Frau, ich die sichere Unterstutzung und die Unterstutzung im Menschen des Menschen suche. Der Mensch, den im Zustand gern zu haben und zu fuhlen, respektiert mit der Frau, es ist fur mich notwendig.
Aber, ich verstehe, dass Sie als mich, aber es nur das gro?e Plus fur uns mehr alterer seid. Tatsachlich der Mensch, der wei?, dass solches Leben, das das Ziel und die Lagen hat – der sicherste und wahrhafte Mensch! Was Sie in diesem Fall denken? Ich die Hoffnung habe die richtige Auswahl gemacht…
Ich denke zu uns, wird bequem sein, wenn wir uns durch die elektronische Post umgehen werden, ich kann Ihnen die neuen Fotografien schicken, und, grosser uber mich sagen ist unmittelbar.
Ich wunsche Ihnen den guten Abend und die angenehmste gute Nacht!
Den starkesten und leidenschaftlichen Kuss!
Ihr Freund Anghela.

EasyTabs für Visual Studio 2005/2008

By Sven on 05.10.2007 - 15:03 in Visual Studio 2005, Visual Studio 2008 with 27 Kommentare

Ich hatte ja schon geschrieben, dass ich auf der Grundlage von WndTabs ein Add-In für Visual Studio 2005/2008 entwickelt habe. Nach einem kleinen internen Praxistest habe ich nun beschlossen, das Add-In auch anderen interessierten Entwicklern kostenfrei zur Verfügung zu stellen.

Im folgenden nun eine kurze Beschreibung der wichtigsten Funktionen:

1. Registerkarten

Visual Studio zeigt zwar geöffnete Dokumente bereits als Registerkarten an, allerdings sind die Konfigurationsmöglichkeiten doch sehr eingeschränkt. EasyTabs bietet hier bedeutend mehr Flexibilität, die Registerkarten können entweder oben oder unten angeordnet werden. Eine weitere herausragende Eigenschaft ist das Gruppieren von Dateien. Dateien, die zueinander gehören (z.B. .cpp/.h/.idl), können zusammen auf einer Registerkarte angezeigt werden. Reicht der Platz nicht mehr für alle angezeigten Dokumente, dann zeigt EasyTabs die Registerkarten auch in mehreren Reihen an. So hat man immer auch wirklich alle geöffneten Dokumente im Blick.

2. Anordnung

Die Registerkarten für die geöffneten Dokumente können auf verschiedene Weise angeordnet werden. Im MDI-Modus werden die Fenster stets in der Z-Order angezeigt. Das heißt, dass sich die Registerkarte für das aktive Fenster immer ganz links befindet, rechts daneben befindet sich das zuvor verwendete Fenster usw. Alternativ können die Registerkarten auch alphabetisch angeordnet werden. In der Standardeinstellung werden die Dateien in der Reihenfolge ihres Öffnens angezeigt und behalten diese während der gesamten Sitzung auch bei.

3. Nummerierung

Jede Registerkarte erhält eine Nummer, die über mehrere Arbeitssitzungen erhalten bleiben kann. Die Nummer einer Registerkarte kann auf Wunsch angezeigt werden. Für die Aktivierung der Registerkarten 1 bis 9 können auch Tastenkürzel zugeordnet werden, so dass diese schnell erreichbar sind. Die Zuordnung der Tastenkürzel erfolgt über den Einstellungsdialog von Visual Studio.

4. Namen kürzen

Besonders lange Dateinamen kann EasyTabs bei der Anzeige auch kürzen. Dies kann über das Festlegen einer bestimmten Länge erfolgen, es ist aber auch möglich, bestimmte übereinstimmende Zeichen am Anfang und/oder am Ende des Dateinamens zu entfernen.

5. Menüs

Durch einen Klick mit der rechten Maustaste auf eine Registerkarte öffnet sich das Kontextmenü, welches Befehle zur Fenster- und Dateiverwaltung enthält. Hier kann z.B. des Schreibschutzattribut gesetzt oder gelöscht werden, zudem wird das Explorer-Kontextmenü für die jeweilige Datei angezeigt. Eine nützliche Funktion ist auch das Öffnen eines sich gerade in Bearbeitung befindenden Dialogs als Textdatei.

6. Anzahl der offenen Fenster begrenzen

Wer den Wald vor lauter Fenstern nicht mehr sieht, der kann festlegen, dass nur eine bestimmte Anzahl an Fenstern geöffnet bleiben soll. Beim Öffnen eines neuen Fensters schließt EasyTabs dann automatisch das Fenster, was am wenigsten verwendet wurde.

7. Während des Debuggens geöffnete Dateien automatisch schließen

Eine recht nützliche Funktion ist das automatische Schließen von Fenstern, die während des Debuggens geöffnet werden. Meistens handelt es sich dabei um Header- und Quellcodedateien von Bibliotheken (z.B. MFC), die beim Debuggen von Funktionen angezeigt werden. Nach einiger Zeit wird der Arbeitsbereich mit diesen Fenstern quasi überschwemmt, sofern sie nicht explizit wieder geschlossen werden.

EasyTabs übernimmt auf Wunsch das automatische Schließen nach jeder Debugsitzung. Im Einstellungsdialog kann festgelegt werden, auf welche Verzeichnisse hier geachtet werden soll.

8. IDE

Neben der Fensterverwaltung bietet EasyTabs noch zwei weitere Funktionen, welche die IDE erweitern. So kann der Dialogeditor gezwungen werden, auch in der Entwurfsansicht die Tastenkürzel der Dialogelemente anzuzeigen. Auch die Breite der Spalten im Stringtabelleneditor kann gespeichert und beim nächsten Öffnen wieder hergestellt werden.

9. Download

Dies war nur eine kleine Einführung in EasyTabs, im Einstellungsdialog sind noch ein paar weitere Funktionen zu finden. Für jede Einstellung ist eine Hilfe verfügbar, einfach auf das Fragezeichen in der Titelzeile des Einstellungsdialogs klicken und anschließend auf das Dialogelement selbst. Wer bis hierhin durchgehalten hat, der wird nun mit dem Downloadlink von EasyTabs belohnt.

Einblick in .NET-Quellen

By Sven on 04.10.2007 - 15:18 in Visual Studio 2008 with Keine Kommentare

Scott Guthrie schreibt in seinem Blog, dass mit der Freigabe von Visual Studio 2008 auch die (meisten) Quelltexte des .NET-Frameworks eingesehen werden können. Als MFC-Entwickler weiß ich, wie wichtig das bei der täglichen Arbeit sein kann. Zum einen steigt das Verständnis für die Funktionen unter der Haube, dazu laden die Quelltexte auch zum Schmökern ein, wenn man sich fragt, wie das eine oder andere verwirklicht wurde.

Vielleicht kommt Microsoft ja auch noch auf die Idee, das gleiche mit dem Windows-Quellcode zu machen. Es wäre schon nett, wenn man sich beim Debuggen auch mit Hilfe des Quelltextes durch die jeweiligen Windows-Funktionen kämpfen könnte. Ich befürchte aber, dass dies so schnell nicht passieren wird.

(gefunden bei Karsten Samaschke)

Datenverlust beim Kopieren (2)

By Sven on 04.10.2007 - 11:41 in Windows Vista with 4 Kommentare

Die ganze Sache hat mir keine Ruhe gelassen, daher habe ich gestern noch weitere Tests durchgeführt. Bisher hatte ich immer nur auf meinen Dateiserver kopiert, wenn auch von zwei verschiedenen Rechnern. Um auszuschließen, dass das Problem mit dem Dateiserver zusammenhängt, habe ich die Testdaten nun über Kreuz kopiert, d.h. vom Vista des einen Rechners auf ein XP des anderen sowie vom Vista des anderen auf das XP des einen Rechners. Erstaunlicherweise wurden die Daten hierbei ohne Fehler kopiert. Auch die Kopien auf mein Notebook waren fehlerfrei.

Damit scheint festzustehen, dass der Datenverlust beim Kopieren kein allgemeines Problem von Vista ist, sondern mit der Konfiguration meines Dateiservers zu tun haben muss. Auf dem Server läuft ein RAID-1, welches an einem zusätzlichen SIL3112-Controller (Silicon Image) angeschlossen ist. Probleme gab es damit bisher nicht, auch das RAID-Statusprogram und die Ereignisanzeige zeigen keine Fehler an. Trotzdem habe ich das RAID aufgelöst, die beiden Festplatten wieder an den Onboard-RAID-Controller (VIA VT8237) angeschlossen und erneut ein RAID-1 erstellt.

Erneute Tests mit dem nun neuen RAID-1 funktionierten wiederum fehlerfrei. Das heißt also, dass die Kopierfehler irgendetwas mit der alten RAID-Konfiguration zu tun haben müssen. Warum sie dann aber bei gesetztem “CopyFileBufferedSynchronousIo” nicht auftraten, dafür habe ich keine Erklärung. Den Eintrag “CopyFileBufferedSynchronousIo” werde ich aber trotzdem aktiviert lassen, da damit die Datentransferrate beim Kopieren über das Netzwerk spürbar angehoben wird.

Datenverlust beim Kopieren

By Sven on 02.10.2007 - 12:43 in Windows Vista with 6 Kommentare

Es ist der Alptraum jedes Dateimanager-Entwicklers, wenn beim Kopieren oder Verschieben von Dateien ein Datenverlust auftritt. Im Anwenderforum hatte Hornen über Probleme beim Kopieren von Dateien berichtet und festgestellt, dass beim Kopieren über das Netzwerk auch Dateien beschädigt werden. Am Wochenende ereilte mich das gleiche Schicksal. Nach dem Herunterladen von größeren signierten Installationsdateien (z.B. Office 2003 SP3) und dem Kopieren dieser auf meinen Dateiserver war ersichtlich, dass die Signatur nach dem Kopieren nicht mehr gültig war und die Datei somit verändert wurde.

Aber wie kann so etwas passieren? SpeedCommander verwendet zum Kopieren von Dateien grundsätzlich die Funktion API-Funktion CopyFileEx, die gesamte Kopieraktion (Quelldatei öffnen, Zieldatei erstellen, Dateiinhalt kopieren, Dateien schließen) wird von Windows erledigt. Zum Test habe ich mir das aktuelle Backup von SpeedCommander 12 (1120 Ordner, 15818 Dateien, 459 MiB) geschnappt und auf meinen Dateiserver kopiert. Anschließend habe ich Quell- und Zielverzeichnis mit Araxis Merge verglichen. Auf beiden Vista-Testsystemen (32- und 64-bit) sind alle derzeit über Windows-Update erhältlichen Updates installiert (inkl. Zuverlässigkeits- und Stabilitätsupdate).

Das Ergebnis war erschreckend. Araxis Merge fand ca. 30 Dateien, bei denen es Unterschiede zwischen Quelle und Ziel gab. Alle betroffenen Dateien waren größer als 1 MiB, aber nicht alle Dateien, die größer als 1 MiB sind, waren fehlerhaft. Den gleichen Test habe ich mit dem Explorer und dem Total Commander (bei aktiviertem Kompatibilitätsmodus für alle Laufwerke) wiederholt, aber Araxis Merge fand jedesmal Unterschiede zwischen Quelle und Ziel. Das Problem liegt also definitiv in CopyFileEx, da SpeedCommander, Explorer und Total Commander (bei aktiviertem Kompatibilitätsmodus) diese Funktion zum Kopieren von Dateien verwenden.

Google führte mich zu KB941673, wo zu lesen war, dass das Verhalten von CopyFileEx in Vista geändert wurde:

In Windows Vista, the CopyFile function creates a non-cached I/O request to perform a write operation. Therefore, the speed of the file copy operation is affected by the disk speed and by other resources on the older operating system.

The CopyFileBufferedSynchronousIo registry entry reverts the CopyFile function in Windows Vista to its earlier behavior. After you add the registry entry, you expect the CopyFile function to work as it would in an earlier Windows operating system. However, because Windows Explorer does not check for this registry entry, this problem occurs.

Wenn man Google mit “CopyFileBufferedSynchronousIo” füttert, dann findet man eine Menge Treffer. Die meisten Seiten empfehlen den Eintrag als Tweak für Vista, andere berichten darüber, dass damit ein Problem in Windows Backup gelöst werden kann.

Mit dem Setzen des Eintrags zwingt man CopyFileEx das “alte” XP-Verhalten wieder auf. Damit dies auch im Explorer funktioniert, muss man bei Microsoft den oben angegebenen Hotfix anfordern. SpeedCommander und Total Commander ist der Hotfix egal, sie verwenden den Eintrag automatisch nach einem Neustart des jeweiligen Programms. Beide Anwendungen kopieren anschließend das Backup-Verzeichnis wieder gewohnt zuverlässig ohne Fehler.

Ich kann also jedem, der mit Vista Dateien über das Netzwerk kopiert bzw. verschiebt, nur dringlichst empfehlen, diesen Eintrag zu setzen. Ein Nebeneffekt ist (zumindestens bei mir) eine deutlich erhöhte Datentransferrate sowie eine flüssigere und nicht mehr so abgehackte Anzeige des Fortschrittsbalkens. Wer mit der Registrationsdatenbank nicht so firm ist, der lädt sich einfach die folgende .reg-Datei

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System]
"CopyFileBufferedSynchronousIo"=dword:00000001

herunter und doppelklickt diese anschließend im Explorer oder im Dateimanager seines Vertrauens.

Anfang des Jahres

By Sven on 25.09.2007 - 10:21 in Windows Vista with 1 Kommentar

Jetzt wissen wir endlich, warum für Anfang des Jahres angekündigte Produkte meistens erst im Herbst erscheinen:

Anfang des Jahres

Ein Spiel zwischendurch

By Sven on 21.09.2007 - 12:23 in Visual Studio 2005, Visual Studio 2008 with 7 Kommentare

Softwareentwicklung kann recht anstrengend sein, das weiß auch Microsoft. Ein kleines Spielchen zwischendurch kann die Gedanken etwas auflockern. Was liegt also näher, als ein solches Spiel nahtlos in die IDE von Visual Studio 2005/2008 zu integrieren?

Microsoft hat sich für eine abgewandelte Version von Memory entschieden. Es wird automatisch gestartet, wenn man im Dialogeditor die Tastenkürzel zuordnen möchte. Egal, wieviele Tastenkürzel man schon vergeben hat, die Ansicht ist immer die gleiche:

Dialogeditor ohne Tastenkürzel

Leider hat man nicht daran gedacht, den Schwierigkeitsgrad einstellbar zu machen. Je älter der Programmierer umfangreicher der Dialog ist, umso schwerer wird es, das Spiel zu gewinnen. Auch die Länge des Spiels kann sich durchaus etwas hinziehen.

Um das Spiel etwas abzukürzen, habe ich meinem Add-In einen Cheat für eine Sofortlösung spendiert. Nach dem Öffnen des Dialogeditors werden die bereits vergebenen Tastenkürzel sofort angezeigt:

Dialogeditor mit Tastenkürzel

Eine weitere Sache, die mich auch etwas stört, ist die Spaltenbreite im Stringtabellen-Editor. Man kann die Spaltengrößen von “ID”, “Wert” und “Beschriftung” zwar beliebig ändern, bei der nächsten Anzeige sind letzten Positionen aber wieder vergessen. Auch hier bietet das Add-In Abhilfe und stellt die vorherigen Größen auf Wunsch automatisch wieder her.

Schmerzfrei tabben

By Sven on 12.09.2007 - 11:49 in Visual Studio 2005, Visual Studio 2008 with 6 Kommentare

Ich habe ja schon hier und da berichtet, dass ich WndTabs in Visual Studio 2005/2008 wirklich sehr vermisse. Wer WndTabs noch nicht kennt, dem empfehle ich eine kleine Tour durch die Funktionen. Insbesondere die erweiterten Funktionen, die man für 10$ freischalten konnte, erleichtern die Fensterverwaltung enorm.

In den letzten vier Wochen habe ich die meiste Zeit unter Visual Studio 2008 verbracht und musste schmerzhaft feststellen, dass ich mir bei ein paar mehr geöffneten Fenster mitunter sehr verloren vorkam. Einerseits steckt die Leiste mit den Registerkarten nun oben und liegt damit nicht mehr in meinem primären Blickfeld, zum anderen ist die schwarze Schrift auf dem doch recht dunklen Hintergrund nicht ganz einfach zu erkennen. Dazu fehlt natürlich auch die gewohnte Gruppierung von Header- und Quellcodedateien. Ich habe mich oft dabei ertappt, wie ich mit den Augen verzweifelt die Leiste abgrase, um die passende Datei zu finden. Zwar kann man die Reihenfolge durch Drag&Drop ändern (wie ich erst vor kurzem festgestellt habe), es wäre aber schön, wenn dies automatisch geschehen könnte. Zudem werden die Registerkarten nur in einer Reihe angezeigt. Reicht der Platz nicht aus, dann fallen sie links bzw. rechts herunter und sind nur noch über das Menü rechts erreichbar.

Der Wunsch nach einer vernünftigen Anzeige wurde also immer größer. Also habe ich mir den Quellcode von WndTabs geschnappt und mal geschaut, ob sich da etwas machen lässt. Nachdem die Kernbereiche lokalisiert waren, habe ich den Assistenten von Visual Studio ein neues AddIn-Projekt erstellen lassen und die wichtigsten Elemente von WndTabs eingearbeitet. Die Darstellung und Verwaltung der gruppierten Tabs war etwas schwerer, da diese nicht Bestandteil des verfügbaren Quellcodes sind.

Nach einer Woche Arbeit ist das AddIn nun einsetzbar. Zwar fehlen noch ein paar Funktionen (u.a. der Einstellungsdialog), die für mich wichtigen Sachen funktionieren aber erst einmal. Und so sieht das ganze nun aus:

Tabs in Visual Studio 2008

Top