Komfortabler Dateimanager mit vielen Funktionen

Weitere Infos zum MFC UI-Update

By Sven on 08.11.2007 - 20:14 in MFC, Visual Studio 2008 with 7 Kommentare

Im Codejock-Forum hat Kirk Stowell (der Chef von Codejock) ein paar interessante Infos zur ganzen Geschichte veröffentlicht, die ich euch nicht vorenthalten möchte. Demnach hat Microsoft schon vor einigen Jahren Codejock kontaktiert, um die MFC für Visual Studio 2005 etwas aufzupeppen. Es gab ein paar Gespräche, zu mehr führte es aber nicht.

Im März dieses Jahres ist Microsoft erneut mit Codejock in Kontakt getreten und hat Interesse daran geäußert, Codejocks MFC-Komponenten in die MFC von Visual Studio 2008 aufzunehmen. Das Budget für mögliche Lizenzgebühren sei aber nicht gerade hoch.

Im August ließ Microsoft wieder von sich hören. Man wollte mit Codejock über Erweiterungspläne der MFC diskutieren, als auch über die möglichen Auswirkungen auf die MFC-Produkte von Codejock. In diesen Gesprächen kam herüber, dass Microsoft für wenig Geld die MFC-Komponenten von BCGSoft lizenzieren wird und diese somit Teil der MFC werden sollen.

Kirk gab zu bedenken, dass sich diese Entscheidung als großer Fehler herausstellen könnte. Aus Erfahrung gäbe es einige Probleme mit den BCG-Komponenten, angefangen von der Stabilität bis hin zur recht schwachen Performance. Er wies Microsoft auch darauf hin, dass sich gerade deshalb viele BCG-Anwender für einen Wechsel zu den Produkten von Codejock entschieden hätten und schlug vor, dass Microsoft doch die Meinung einiger dieser Kunden einholen könnte. Der Vertrag mit BCGSoft war aber schon unterschrieben und Microsoft sah keine Notwendigkeit mehr, diese Sache weiter zu verfolgen.

Genau wie Kirk glaube ich auch, dass Microsoft eine ziemlich unglückliche Entscheidung getroffen hat. Die Performance-Probleme waren damals auch einer der Gründe für mich, vor vier Jahren zu Codejock zu wechseln. Ich kann mich noch gut daran erinnern, dass die Einbindung der BCGControlBar in FileSearch (SpeedCommander 9) den Start der Anwendung um knapp zwei Sekunden verzögerte. Also verzichtete ich damals in FileSearch auf die anpassbaren Menüs, stattdessen zeigte sich FileSearch nur mit normalen Menüs.

Gemeinsam mit Rainer haben wir damals auch die Aufrufgeschwindigkeit der frei downloadbaren Beispieldateien von Codejock und BCGSoft miteinander verglichen. Die von BCGSoft starteten alle merklich langsamer. Auf Rainers Rechner, der damals auch nicht gerade der schnellste war, wurde dies besonders deutlich.

Microsoft wird also einiges an Mühe aufwenden müssen, damit die MFCnext ein stabiles und performantes Produkt wird. Es ist als Entwickler immer schwer, sich in eine so umfangreiche Bibliothek einzuarbeiten. Mal schauen, wie Microsoft das meistern wird.

The Next Generation

By Sven on 08.11.2007 - 01:49 in MFC, Visual Studio 2008 with 1 Kommentar

In Barcelona findet in dieser Woche die TechEd Developers 2007 statt, also der richtige Zeitpunkt, um Großes zu verkünden. Die erste wichtige Info ist, dass Visual Studio 2008 bis zum Ende dieses Monats verfügbar sein wird und damit wohl allen MSDN-Abonnenten zur Verfügung gestellt wird.

Schon seit einiger Zeit laufen einem im Web Hinweise über den Weg, dass auch für die MFC einige Überraschungen zu erwarten sind. Microsoft hat nun die Katze aus dem Sack gelassen, und diese Katze ist wirklich fett. Die MFC bekommt ein vollständiges UI-Toolkit spendiert (genannt MFCnext), unter anderem mit

  • Office 2007-Ribbon
  • Erweiterte Docking-Funktionen
  • Verschiedene Styles (Office 2003, Office 2007, …)
  • Etliche neue UI-Elemente (Eigenschaftsseiten, Maskierbares Editierfeld, Farbpicker, …)

Der erste Release Candidate soll schon im Dezember veröffentlicht werden, die endgültige Freigabe ist für März 2008 geplant.

Auf den ersten Blick sieht das auch alles Klasse aus, mit dem zweiten sieht man aber bekanntlich besser. Und man stellt fest, dass dies alles ja schon seit Jahren zur Verfügung steht. Zwar nicht mit der MFC selbst, wohl aber mit den Toolkits anderer Hersteller (Codejock oder BCGSoft). Hier stellt sich nun die Frage, wie der Vergleich zwischen den neuen MFC-Erweiterungen und den etablierten Bibliotheken ausschauen wird, sowohl vom Umfang als auch von der Performance und der Codequalität. Auch wird interessant, wie die beiden Hersteller mit der Situation klarkommen, dass die von ihnen verkauften Funktionen nun plötzlich Bestandteil von Visual Studio sind und damit für jeden MFC-Anwender auch kostenfrei zur Verfügung stehen. Wenn sich Microsoft einmal entschließen sollte, jedem Windows einen vernünftigen Dateimanager beizulegen, dann hätte ich wohl ein ähnliches Problem.

Dank Jochen Kalmbach brauchen wir mit der Beantwortung dieser Fragen aber wohl nicht bis zum Dezember warten. In seiner Information zum geplanten MFC-Update verrät er nämlich, dass die meisten Controls von BCGSoft “portiert” wurden. Wenn man sich mal die von ihm gemachten Fotos der Session anschaut und diese mal mit den Headerdateien der BCGControlBar Professional Edition vergleicht, dann entdeckt man auch erstaunlich viele Gemeinsamkeiten mit den BCG-Klassen. “Portiert” heißt dann vermutlich eher “aufgekauft und umbenannt”. Aus Raider wird also Twix, sonst ändert sich nichts.

Und genau das ist für mich der Punkt, auch in Zukunft weiter auf Codejock zu setzen. Bis einschließlich SpeedCommander 9 habe ich ja bereits mit der BCGControlBar gearbeitet, mit SpeedCommander 10 erfolgte der Wechsel auf das Xtreme Toolkit Pro. Und diesen Wechsel habe ich bisher keine einzige Sekunde bereut. Nach meiner Erfahrung ist die Codejock-Bibliothek nämlich um einiges performanter und auch übersichtlicher und moderner aufgebaut. Das Klassenlayout der aktuellen BCGControlBar-Version hat dagegen noch erstaunlich viel Gemeinsamkeiten mit den ganz frühen Versionen, die ich noch verwendet habe. Das mag gut für die Abwärtskompatibilität sein, so ein altes Fundament hat aber leider auch Nachteile. Neue Sachen werden nämlich immer nur angebaut und irgendwann schwindet die Übersichtlichkeit.

Wer also schon mal schauen will, wie sich die neuen UI-Elemente in der Praxis anfühlen, der muss sich einfach nur die Testversion der BCGControlBar Professional Edition herunterladen. Auf der gleichen Seite gibt es auch bereits kompilierte Beispielanwendungen. Spannend wird sicher sein, wie die Zukunft der BCGControlBar ausschaut. Ich glaube kaum, dass BCGSoft damit noch viel Umsatz machen wird. Aber vermutlich wird der Scheck von Microsoft groß genug gewesen sein, um die Schmerzen einigermaßen in Grenzen zu halten. Weitaus schwieriger wird es dagegen für Codejock werden. Ich hoffe wirklich, dass sich die Jungs durch diese Ankündigung nicht entmutigen lassen und auch in Zukunft gute Umsätze haben. Es wäre nämlich äußerst schade, wenn Codejock dadurch auf der Strecke bleiben würde.

Netzlaufwerke und UAC

By Sven on 02.11.2007 - 11:18 in Windows Vista with 1 Kommentar

Während des internen Betatests von SpeedCommander 11.6 ist Alex aufgefallen, dass beim Kopieren von Dateien von einem gemappten Netzlaufwerk in ein UAC-geschütztes Verzeichnis eine Fehlermeldung angezeigt wird:

Fehlermeldung beim Kopieren

Wir vermuteten zuerst Schwierigkeiten mit den UAC-Funktionen in SpeedCommander, allerdings zeigte der Explorer ein ähnliches Verhalten. Schließlich fanden wir den Grund. Die Verbindung zum Netzlaufwerk wird bei der Anmeldung nur mit dem Token für eingeschränkte Rechte durchgeführt. Das Token für die angehobenen Rechte, welches beim Kopieren mit UAC verwendet wird, kennt die Verbindung zum Netzlaufwerk aber nicht. Damit kann die Quelldatei nicht gefunden werden und dies führt dann zur Fehlermeldung. Wenn dagegen für das angehobene Token zufällig ein anderes Netzlaufwerk gemappt ist, auf dem sich unter dem gleichen Pfad eine andere gleichnamige Datei befindet, dann wird diese anstelle der gewünschten kopiert.

In Martin’s Blog habe ich nun eine Lösung für das Problem gefunden. Mit dem Setzen von EnableLinkedConnections unter [HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System] auf 1 synchronisiert Vista die Netzwerkverbindungen für das eingeschränkte und angehobene Token und das Kopieren erfolgt fehlerfrei. Das ganze wird auch im KB937624-Eintrag beschrieben.

Hier noch einmal der ganze Eintrag als fertige .reg-Datei:

REGEDIT4

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

Links aktualisiert

By Sven on 01.11.2007 - 13:10 in Alltägliches with Keine Kommentare

Es war mal wieder an der Zeit, die Linkliste etwas zu aktualisieren. Neuzugänge sind

Den Blog von Karsten lese ich schon etwas länger, auf die anderen beiden bin ich diese Woche gestoßen und gleich hängengeblieben. Alle drei sind MVPs (Microsoft Most Valuable Professionals), sie wissen also, wovon sie schreiben.

Nichts ist unmöglich

By Sven on 31.10.2007 - 12:02 in Entwicklung with Keine Kommentare

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

By Sven on 30.10.2007 - 11:47 in Tools & Bibliotheken with Keine Kommentare

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

By Sven on 26.10.2007 - 15:46 in Windows Vista with Keine Kommentare

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

By Sven on 24.10.2007 - 16:12 in SpeedCommander 12 with 11 Kommentare

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

By Sven on 16.10.2007 - 10:56 in SpeedCommander 12 with 4 Kommentare

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

By Sven on 15.10.2007 - 22:14 in Support with 2 Kommentare

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.

Top