Unterabschnitte
Wenn Sie BarVision in Ihrem Anwendungsprogramm einsetzen, benötigt
Ihr Anwendungsprogramm die BarVision DLLs oder OCX-Komponenten um
korrekt zu arbeiten. Die Dateienamen der benötigten DLLs finden Sie
im Thema Entwicklungsumgebungen.
Jede kommerzielle Software wird im Laufe der Zeit weiterentwickelt und
von Fehlern bereinigt. Der Softwarehersteller achtet dabei darauf, daß
neuere DLL-Versionen aufwärtskompatibel alle Funktionen älterer
Versionen enthalten.
Allerdings kann es zu Problemen kommen, wenn neuere Programmversionen
durch ältere ersetzt werden.
Bei 16-Bit DLLs enthält die DLL einen eindeutigen Modulnamen, der
auch durch Umbenennen der DLL nicht geändert werden kann. Daher kommt
es zu Problemen wenn zunächst ein Programm eine ältere Version
der DLL lädt und anschließend ein Programm gestartet wird, das
eine neuere Version für seinen Betrieb voraussetzt.
Damit sichergestellt ist, daß alle Programme die neueste DLL-Version
teilen, muß diese in den SYSTEM-Ordner kopiert
werden. Hinweise siehe unten.
Die o.g. Schwäche hat Microsoft bei den 32-Bit Betriebssystemen beseitigt.
Es existiert daher kein besonderer Grund die 32-Bit BarVision DLL
in den Systemordner zu kopieren.
Das ActiveX - Control muß sich dagegen
leider für seine Funktion in der Registry anmelden und kann daher
Rechnerweit nur einmal existieren. Auch hier muß daher die Installation
in den SYSTEM-Ordner erfolgen.
Darberhinaus muß das Installationsprogramm die exportierte Funktion
DllRegisterServer aufrufen. Moderne Installationsprogramme bieten
dazu entsprechende Funktionen an.
Der SYSTEM-Ordner wird vom API mit er Funktion GetSystemDirectory
angegeben. Bei Windows 3.1 und 9x ist es das Verzeichnies SYSTEM, bei Windows
NT gibt es zwei Verzeichnisse: SYSTEM und SYSTEM32, je nach Art der zu
installierenden Module. Beachten Sie dies, wenn Sie z.B. ein 16-Bit Installationsprogramm zur Installation von 32-Bit Software einsetzen.
Das Installationsprogramm sollte niemals neuere DLL-Versionen durch
ältere ersetzen. Bei 32-Bit Software muß bei Installation in
den SYSTEM-Ordner ein benutzungsanzahl-Zähler in der Registry hochgezählt
werden anhand dessen ein Deinstallationsprogramm feststellen kann, wenn
eine DLL/OCX nicht mehr benötigt wird.
Da manche mangelhafte Installationsprogramme das Dateidatum verändern
indem sie es bei der Installation auf das Installationsdatum setzen, ist
es empfehlenswert, die Versionsinformationen zu prüfen um eine veraltete
DLL zu erkennen, selbst wenn das Dateidatum der DLL neuer ist.
Für 16-Bit.-Software gibt es kein Konzept zur ordnungsgemäßen
Deinstallation von DLLs aus dem SYSTEM-Ordner. Die DLLs müssen bei
der Deinstallation im SYSTEM-Ordner verbleiben, da andere Softwareprogramme
sie evtl. für deren Betrieb voraussetzen könnten.
Bei 32-Bit Software wird ein Benutzungszähler heruntergezählt,
ist er 0, so kann die DLL gelöscht werden.
Dies gilt ebenso für alle anderen DLL-Bibliotheken, die Sie nicht
selbst entwickelt haben (BWCC.DLL, CTL3D.DLL etc.) .
Bernd Herd, Herd Software Entwicklung, 17. Februar 2007