![]() |
Programm schließen macht Probleme (DLL)
Hallo,
habe eine Funktion aus einer DLL eingebungen.
Delphi-Quellcode:
Diese rufe ich auch zwischendurch ein paar Mal auf - alles ok.
function GetInstallDir: String; stdcall; external SysCtrl;
Doch wenn ich dann mein Programm schließen will, kommt die Fehlermeldung: "Ungültige Zeigeroperation" Was bedeutet das, muss ich die DLL irgendwie entladen?? |
Re: Programm schließen macht Probleme (Pointer)
Hi,
das könnte evtl. an dem Rückgabe-Typ string liegen. Wenn Du die Delphi LongStrings in DLLs zum Export benutzen willst, musst Du in Anwendung und DLL die Unit ShareMem als erstes einbinden und die borlndmm.dll Deiner Anwendung hinzugeben - oder Du verwendet WideString, PChar, ShortStrings oder so. mfG mirage228 |
Re: Programm schließen macht Probleme (Pointer)
Habs gerade mit diesen 3 Typen probert. Es kommt immernoch diese Fehlermeldung. Diese hatte ich auch schon in früheren Programmierzeiten. ShareMem habe ich natürlich jeweils als erste Unit in beiden Projekten.
|
Re: Programm schließen macht Probleme (Pointer)
Liste der Anhänge anzeigen (Anzahl: 2)
Hier nochmal die beiden Quelltexte..
|
Re: Programm schließen macht Probleme (DLL)
Hm...
habt ihr vielleicht noch ein gutes DLL-Tutorial parat, welches ich durcharbeiten kann? Vielleich komme ich ja selbst auf den Fehler. (Die Tuts vom edh2000 und Delphi-Treff hab ich schon durch) |
Re: Programm schließen macht Probleme (DLL)
Ich kenne nur noch das von Oliver:
![]() |
Re: Programm schließen macht Probleme (DLL)
Das kenne ich auch. Bin auch gerade an einem anderen PC. Es kommt immer beim Schließen diese Fehlermeldung. Hab's eingentlich auch so gemacht, wie in den Tuts.
Habs auch gerade mit einer simplen Additions-Funktion in Integer probiert. Liegt also nicht an den Strings. |
Re: Programm schließen macht Probleme (DLL)
Vielleicht noch eine Anmerkung:
Nachdem ich auch nochmal nach dem Problem geschaut habe: Es ist der obgligatorische "RunTime Error 216 bzw. 217" |
Re: Programm schließen macht Probleme (DLL)
Liegt es vielleicht an der Unit ShareMem, die du auch in der Programmunit eingebunden hast?
|
Re: Programm schließen macht Probleme (DLL)
Die ShareMem muss doch sowohl in das Programm, als auch in die DLL eingebunden werden, oder nicht?! :gruebel:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 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 by Thomas Breitkreuz