![]() |
DLL Problem auf englischem OS
hoi,
für folgendes Problem benötige ich eine Hilfestellung ... ich hab ein programm entworfen das mit hilfe einer schnittstellen-unit bestimmte funktionen einer DLL aufruft. delphi 7 ent, win xp ger funktioniert alles ohne probleme ... starte ich nun aber das programm auf einem us notebook mit win xp eng dann bekomme ich eine Fehlermeldung mit einer Zugriffsverletzung die DLL wird über LoadLibrary(..) geladen ich vermute das die DLL nicht geladen wird - ich eine funktionen der dll aufrufe - und denn die Zugriffsverletzung als Fehler kommt ... ich weiß nicht weiter - ihr ? |
Re: DLL Problem auf englischem OS
Wenn du eine Zugriffsverletzung bekommst deutet das darauf hinn das du nicht prüfst ob die DLL geladen werden konnte und auch nicht prüfst ob die Funktion in der DLL gefunden wurde. Baue da am besten eine Prüfung ein und gebe aussagekräftige Fehlermeldungen ein :-)
|
Re: DLL Problem auf englischem OS
habe nun herausgefunden das das DLLhandle (dllhandle := loadlibrary(pchar(...)))
auf dem eng-OS immer 0 ist bisher wurde auf (dllhandle >= 32) geprüft - kann/sollte ich es ändern auf (dllhandle=0) [info] die dll und die schnittstellen unit kommen von einer fremdfirma [/info] |
Re: DLL Problem auf englischem OS
Zitat:
|
Re: DLL Problem auf englischem OS
wie gesagt kommt die dll und die unit nicht von mir ...
dllhandle >=32 war quasi drin - habe ich nun geändert auf dllhandle <> 0 mit getlasterror bekomm ich auch ne vernünftige meldung - das ist ok aber ich versteh im prinzip nicht warum alles ok ist bei einem ger-PC mit ger-OS und bei einem eng-PC und eng-OS nicht mehr --> die dateien & pfade sind alle identisch ... aber erstmal danke an euch für jeden hinweis bis hierher |
Re: DLL Problem auf englischem OS
aber wenn dir dort 0 zurück gegeben wird scheint es die DLL nicht zu geben oder sie ist nicht registriert. Vielleicht ist auf dem englischen System ein bestimmtes Update nicht installiert oder dergleichen.
|
Re: DLL Problem auf englischem OS
Zitat:
|
Re: DLL Problem auf englischem OS
Evtl. hat ja auch der Hersteller der DLL/Schnittstellen-Unit mist gemacht und setzt z.B. C:\Programme als Installationspfad von Programmen vorraus und entläd die DLL sofort wieder wenns nicht passt. Was sagt denn der Hersteller der DLL dazu?
|
Re: DLL Problem auf englischem OS
die fehlermeldung lautet:
Zitat:
Delphi-Quellcode:
unit ScanCtrl2;
... const LibraryName = 'ScanCtrl2.dll'; ... DLLHandle: THandle; ... procedure LoadDLL; begin try DLLHandle := LoadLibrary(Pchar(LibraryName)); if (DLLHandle <> 0) then begin ... end // Error: ScanCtrl2.dll kann nicht geladen werden !! else begin messagedlg(SysErrorMessage(getlasterror),mterror,[mbok],0); // hier kommt da fehler da dllhandle=0 ... end; except on E:Exception do messagedlg(E.Message,mterror,[mbok],0); end; end; begin LoadDLL; end. den hersteller habe ich NOCH nicht kontaktiert ... |
Re: DLL Problem auf englischem OS
Delphi-Quellcode:
Öhm, und in welchem Verzeichnis soll dein Programm die DLL finden?
DLLHandle := LoadLibrary(Pchar(LibraryName));
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz