Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Programm schließen macht Probleme (DLL) (https://www.delphipraxis.net/78356-programm-schliessen-macht-probleme-dll.html)

TheMiller 3. Okt 2006 17:40


Programm schließen macht Probleme (DLL)
 
Hallo,

habe eine Funktion aus einer DLL eingebungen.

Delphi-Quellcode:
function GetInstallDir: String; stdcall; external SysCtrl;
Diese rufe ich auch zwischendurch ein paar Mal auf - alles ok.

Doch wenn ich dann mein Programm schließen will, kommt die Fehlermeldung: "Ungültige Zeigeroperation"

Was bedeutet das, muss ich die DLL irgendwie entladen??

mirage228 3. Okt 2006 17:53

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

TheMiller 3. Okt 2006 18:02

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.

TheMiller 3. Okt 2006 20:24

Re: Programm schließen macht Probleme (Pointer)
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hier nochmal die beiden Quelltexte..

TheMiller 4. Okt 2006 10:28

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)

Luckie 4. Okt 2006 10:32

Re: Programm schließen macht Probleme (DLL)
 
Ich kenne nur noch das von Oliver: http://www.michael-puff.de/dirindex....orte/Assarbad/

TheMiller 4. Okt 2006 10:38

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.

TheMiller 4. Okt 2006 19:46

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"

Zacherl 4. Okt 2006 19:53

Re: Programm schließen macht Probleme (DLL)
 
Liegt es vielleicht an der Unit ShareMem, die du auch in der Programmunit eingebunden hast?

TheMiller 4. Okt 2006 20:54

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 16:36 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