Für manche Probleme bietet VB leider keine Lösung, beispielsweise lassen die Projekttitel keine
Sonderzeichen zu und somit können auch die Titel von ActiveX-Controls z.B. keine Leerzeichen
enthalten. Mit ein wenig manueller Nachbearbeitung der OCX-Datei im Text- oder Hexeditor lässt
sich dieses Problem jedoch lösen - wenn Microsoft schlampt, muss selber Hand angelegt werden.
Um die Datei zu editieren, benötigen Sie einen Hexeditor oder einen geeigneten Texteditor wie z.B.
TextPad. Ich werde in diesem Artikel nur auf TextPad
eingehen und empfehle Ihnen, sich dieses Freeware-Programm auch herunterzuladen, da es zahlreiche
Funktionen bietet.
Außerdem finden sie am Ende dieses Artikels ein kleines Tool, das Ihnen die ganze Arbeit abnimmt. Ich
empfehle Ihnen jedoch, sich diesen Artikel trotzdem einmal durchzulesen, um zu erfahren, wie das
Programm vorgeht.
Im folgenden werden wir das Beispiel des ActiveX-Controls behandeln, das im Titel auch Leerzeichen
enthalten soll.
Wenn Sie selbst ein Steuerelement entwickelt haben, wird der Projekttitel automatisch
auch als Titel für das Control verwendet. Sie sehen dies, wenn Sie ihr Steuerelement über
Projekt ->
Komponenten... in ein neues Projekt einbinden wollen.
Das Problem dabei: Projekttitel dürfen in Visual Basic bekanntermaßen keine Sonderzeichen enthalten.
Dazu zählen u.a. auch Leerzeichen, erlaubt sind nur Buchstaben (auch Umlaute), Zahlen und der
Unterstrich.
Dieses Schwäche wollen wir nun umgehen. Gehen Sie dabei wie folgt vor:
- Setzen Sie im Projekttitel des ActiveX-Controls für jedes später
erwünschte Sonderzeichen einfach einen Unterstrich ein (Beispiel: FlatButton Control
1.01 wird zu FlatButton_Control_1_01).

-
Kompilieren Sie nun Ihr Projekt und öffnen Sie die soeben erzeugte
OCX-Datei mit TextPad im Textmodus.

-
Suchen Sie nun mit Hilfe der Ersetzungsfunktion von TextPad
(Suchen -> Ersetzen...) nach dem zuvor angegebenen Projekttitel, in
unserem Beispiel also nach "FlatButton_Control_1_01".

-
Geben Sie in das Feld "Ersetzen durch" nun den gewünschten Projekttitel
ein, wichtig dabei ist, dass der Titel nicht länger ist als der alte, deswegen haben wir zuvor
auch die Unterstriche eingesetzt. In unserem Beispiel gehört also folgender Text in das Feld:
"FlatButton Control 1.01".

-
Klicken Sie jetzt nur noch auf "Alle ersetzen", speichern Sie die Datei
ab und schließen Sie sie wieder. Herzlichen Glückwunsch, Sie haben Microsoft ausgetrickst
und selber von Hand die vermisste Funktion eingebaut.
Durch die Möglichkeit, die bereits kompilierten Dateien von Hand nachzubearbeiten, ergeben sich viele
interessante Möglichkeiten. Stört Sie beispielsweise das plumpe "This program cannot be run in DOS
mode" beim Versuch, eines Ihrer Programme unter DOS zu starten? Dann ändern Sie es doch! Zu
beachten ist dabei lediglich wieder, dass sich die Dateilänge nicht verändern darf. Möglichkeiten
wären z.B.: "Dieses Programm läuft nicht unter DOS.", "Diese Anwendung muss in Windows
laufen" oder "Starten Sie zuvor bitte Windows. "
(beachten sie die Leerzeichen!).
Ihrer Fantasie sind (fast) keine Grenzen gesetzt. Öffnen Sie doch einfach mal eines Ihrer Programme
in TextPad (wieder auf den Textmodus achten, da sich im Hexmodus leider nichts verändern lässt) und
stöbern Sie dort herum, was es alles zu verändern gibt.
Sie können sich
hier ein kleines Tool herunterladen,
das Ihnen die komplizierte Handarbeit erspart. Der Sourcecode des Programms ist inbegriffen.
|
Quellen: SHADOWare.de
Letzte Änderung: 29.12.00
|
©2000 by SHADOWare, Thomas Bachem
|