Nichts ist unmöglich

Unter Windows x64 haben 64-bit Anwendungen und 32-bit Anwendungen jeweils ihren eigenen Tanzbereich. Diese sind strikt voneinander getrennt, ein Übergreifen in den des jeweils anderen ist nicht möglich. Mit ‘nicht möglich’ ist aber nur die Inprozess-Kommunikation mit LoadLibrary gemeint. Wenn man hingegen einen externen COM-Server als Vermittler einbezieht, dann sieht die Sache schon wieder ganz anders aus.

Der x64-SC nutzt diese Möglichkeit von Anfang an, da die für die Anzeige von Grafiken verwendete Bibliothek nur als 32-bit Dll vorliegt. Die Funktionen der Dll werden daher von einem kleinen 32-bit Programm aufgerufen, die Kommunikation zwischen dem x64-SC und dem kleinen 32-bit Programm erfolgt über COM. Mit den entsprechenden Informationen sorgt COM dafür, dass der Datenaustausch korrekt erfolgt. Solange die auszutauschenden Daten nicht zu komplex sind, ist dies auch eine recht übersichtliche Angelegenheit.

Nach dem gleichen Prinzip habe ich jetzt auch eine WfxWrapper-Implementation für den x64-SC geschrieben. Mit Hilfe des WfxWrappers können WFX-Plugins für den Total Commander auch im SpeedCommander verwendet werden. Bisher galt dies nur für den 32-bit SC, ab sofort funktioniert es auch mit dem 64-bit SC:

WfxWrapper im x64-SC

50% Rabatt

Ich habe ja schon öfters erwähnt, dass ich für diverse UI-Elemente in SpeedCommander und Squeez (Menüs, Symbolleisten, Property Grid, Docking Panes, Task Panel) schon seit mehreren Jahren das Xtreme Toolkit von Codejock verwende. Alles in allem hervorragend geschriebener Code, der gut funktioniert und einem viel Arbeit abnimmt.

Erwähnenswert ist, dass es noch bis morgen (31.10.2007) 50% Rabatt auf alle MFC-Komponenten gibt. Statt $595 kostet die von mir verwendete All Inclusive-Version im Moment nur $298, die Anschlussfinanzierung für ein weiteres Jahr Updates ist für $98 erhältlich (statt $195). Letztlich ein gutes Timing von Codejock, meine Subscription läuft nämlich am Samstag aus.

Wer also Interesse an guten UI-Komponenten für die MFC hat, der sollte sich schnell entscheiden. Es lohnt sich.

Alles unter x64

Seit ein paar Wochen arbeite ich fast nur noch unter Vista x64. Mit dem Beta-Treiber für meinen HP LaserJet 1022 funktioniert der Drucker nun genauso gut wie unter einem 32-bit Betriebsystem und dank dem Vista Codec Pack (x64 Components) zeigt auch die 64-bit Version von SpeedCommander endlich alle wichtigen Mediendateien in der Schnellansicht an. Die einzige Einschränkung ist immer noch meine DOS-Fakturierung, die dank Virtual PC aber problemlos in einer VM läuft.

Für die Entwicklung hat das nun den Vorteil, dass ich die 64-bit und 32-bit Versionen von SpeedCommander bequem auf einem System entwickeln und testen kann, ohne ständig booten zu müssen. Zudem lässt sich die 64-bit Version nun auch intensiv im Praxistest begutachten, bisher ist aber noch nichts böses aufgefallen.

Cover für SpeedCommander 12

Der Vollständigkeit halber noch ein kurzer Blick auf das Cover der CD-Version von SpeedCommander 12:

Cover für SpeedCommander 12

Der Komet liegt nun in der dritten Version vor und wirkt ziemlich realistisch (obwohl ich bisher noch keinen richtigen zu sehen bekam). Im Vergleich dazu mal die erste Version, die beim SC 9/10 verwendet wurde:

Cover für SpeedCommander 10

Pressemitteilung ist online

Typemania hat die Pressemitteilung zu SpeedCommander 12 veröffentlicht und wird sie nun an verschiedene Portale weiterleiten. Zusätzlich werden mehr als 4000 Medienkontakte per eMail informiert.

Yahoo mag mich nicht

Weiß jemand den Grund, warum eMails an yahoo.de/com mit fast 100%iger Sicherheit immer als unzustellbar zurückkommen?

Mail delivery failed: returning message to sender

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

xxxxxxxxx@yahoo.de
retry time not reached for any host after a long failure period

Anstatt xxxxxxxxx@yahoo.de steht dort natürlich die richtige Adresse.

Basta

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

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

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

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.