Hallo alle miteinander,
für unser Institut habe ich eine Laborsoftware mit PlugIn-System entwickelt. Die PlugIns werden durch
DLL's zur Verfügung gestellt, welche zur Laufzeit dynamisch in die Hauptanwendung eingebunden werden. Die PlugIns (vornehmlich Geräte-Treiber und Messungen) werden dann von Mitarbeitern geschrieben und weiterentwickelt, sodass ich eine Versionskontrolle eingepflegt habe, welche die Verwaltung von Versionsinformationen und wenn nötig Updates übernimmt (zentraler Server, auf dem aktualisierte
DLL's hochgeladen werden und dann mit allen Clients synchronisiert werden). Darüberhinaus wird in die
DLL's standardmäßig MadExcept hineinkompiliert.
Wie sich nun zeigte, habe ich ein Problem beim überprüfen der Versionsinformationen der
DLL's auf der Server-Seite. Öffne ich diese mittles
Windows.LoadLibrary()
bekomme ich bei manchen
DLL's folgende Fehlermeldung:
The file "%s" seems to be corrupt!
Durch einfügen von
ShowMessage()
an diversen Stellen in der
DLLMain
, sowie
Initialization/finalization
-Abschnitten von solchen Units, die früh geladen werden, konnte ich nicht herausfinden an welcher Stelle der Fehler produziert wird.
DUrch Zufall habe ich nun herausgefunden, dass der Fehler verschwindet, wenn ich MadExcept für die betreffenden
DLL's entferne.
Der Fehler tritt Plattform-Unabhängig auf Windows XP, Windows Vista und Windows 7 Systemen auf.
Hat jemand eventuell eine Ahnung was diesen Fehler verursacht?
Viele Grüße Snook