Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem mit loadlibrary bei Vista (https://www.delphipraxis.net/111256-problem-mit-loadlibrary-bei-vista.html)

JohannesK 1. Apr 2008 10:54


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

wido 1. Apr 2008 12:00

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.

JohannesK 1. Apr 2008 12:47

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.

wido 1. Apr 2008 13:00

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 ;).

JohannesK 1. Apr 2008 13:15

Re: Problem mit loadlibrary bei Vista
 
Erst mal Danke, werd' ich so versuchen.

Bernhard Geyer 1. Apr 2008 13:46

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.

JohannesK 1. Apr 2008 17:34

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.

Bernhard Geyer 1. Apr 2008 19:55

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:

JohannesK 2. Apr 2008 13:51

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