Problem mit loadlibrary bei Vista
Hallo zusammen
ich habe folgendes Problem: Delphi 7 Professional DLL's, die unter XP SP2 ohne jedes Problem geladen werden, verursachen in Vista (Business) einen Fehler - allerdings ohne Fehlermeldung, das Programm erhängt sich einfach. Im CPU - Fenster erfolgt wird zu dem Zeitpunkt kernel32.loadlibraryExW aufgerufen. Eine frühere Version der DLL läuft problemlos, ich bin dabei noch die eingebundenen units zu vergleichen. Falls jemand noch eine bessere Idee hat, wäre ich froh drum. Gruss |
Re: Problem mit loadlibrary bei Vista
Ist die DLL geheim oder könntest Du die mal anhängen? Ansonsten wird Dir nichts anderes übrig bleiben als zu debuggen. Wenn Du nicht weißt, wie das bei DLLs genau funktioniert, einfach fragen. Kanns Dir dann kurz erklären.
|
Re: Problem mit loadlibrary bei Vista
Die DLL ist nicht geheim aber sehr umfangreich, funktioniert auch nur mit der dazugehörigen Datenbank. Kann ich also nicht einfach so schicken.
|
Re: Problem mit loadlibrary bei Vista
Dann wirst Du selbst testen müssen. DLLMain, "initialisation" Abschnitte in den diversen Units und evtl. TLS sind die Kandidaten die einem spontan einfallen und beim LoadLibrary ausgeführt werden. Einfach mal hübsch Breakpoints auf die verschiedenen Bereiche setzen und im Single Step durchgehen ;).
|
Re: Problem mit loadlibrary bei Vista
Erst mal Danke, werd' ich so versuchen.
|
Re: Problem mit loadlibrary bei Vista
Kannst du den Sourcecodeteil der in der DLL als initialisierung abläuft nicht auch in eine Test-Exe verpacken und diese mal Testen.
|
Re: Problem mit loadlibrary bei Vista
Ich bin beim debuggen so nach und nach dahinter gekommen, dass der Fehler durch eine TAdoConnection in einem Datenmodul hervorgerufen wird. Die wirkliche Ursache ist noch unklar, da in der älteren Version der DLL genau die gleichen Komponenten keine Probleme machen.
Nach Entfernen der TAdoConnection war das Problem weg, wir verwenden sowieso praktisch ausschlischlich MyDAC-Kompos für den Datenbankzugriff. Die ADO dient nur für externe Daten. Im Moment erst mal erledigt, wenn auch nicht wirklich zufriedenstellend. |
Re: Problem mit loadlibrary bei Vista
TAdoConnection? Da fehlt wohl ein CoInitialize in der DLL um ein COM-Appartment anzumelden. Äber müßte dann nicht eine passende Exception kommen :gruebel:
|
Re: Problem mit loadlibrary bei Vista
Unter XP funktioniert das alles wie gesagt ohne Probleme, sogar in einer etwas älteren (ca. 4 Monate) Version der DLL unter Vista. An den TAdoConnections kann es also nicht wirklich liegen, an den Stellen wurde im Code auch nichts geändert.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz