Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   FreePascal (https://www.delphipraxis.net/74-freepascal/)
-   -   Compilerabbruch beim FreeLibrary (https://www.delphipraxis.net/149518-compilerabbruch-beim-freelibrary.html)

Delphi-Laie 23. Mär 2010 12:19


Compilerabbruch beim FreeLibrary
 
Hallo Delphi- und Lazarusfreunde!

Die Abenteuer mit Lazarus reißen leider nicht ab. Nunmehr stehe ich vor dem nächsten, für mich unüberwindlichen Hindernis:

Während der Befehl

Delphi-Quellcode:
DLLHandle:=LoadLibrary(kernel32)
akzeptiert wird, bricht der Compiler an der sich natürlich weiter unten befindlichen Befehlszeile:

Delphi-Quellcode:
FreeLibrary(kernel32)
für mich völlig unverständlich mit der Fehlermeldung

Zitat:

WinInfo.lpr(129,23) Error: Incompatible type for arg no. 1: Got "Constant String", expected "LongWord"
ab.

Nun, der zweite Befehl ist doch das Pendant zum ersten?! Wozu benötigt er also eine Übergabevariable des Types Longword?

Weiß jemand eine Erklärung dafür?

Dass riecht geradezu nach einem Programmfehler. Sollte es tatsächlich einer sein, würde ich ihn auch melden.

Besten Dank und Gruß

Delphi-Laie

SirThornberry 23. Mär 2010 12:20

Re: Compilerabbruch beim FreeLibrary
 
Nein, FreeLibrary erwartet das Handle welches LoadLibrary zurück gibt.

Denn du kannst ja auch mehrfach ein LoadLibrary auf die gleiche DLL ausführen und woher soll das System dann wissen welches Handle du bei FreeLibrary schleißen willst wenn du nur den Lib-Dateinamen übergibst.

Delphi-Laie 23. Mär 2010 12:29

Re: Compilerabbruch beim FreeLibrary
 
Zitat:

Zitat von SirThornberry
Nein, FreeLibrary erwartet das Handle welches LoadLibrary zurück gibt.

Denn du kannst ja auch mehrfach ein LoadLibrary auf die gleiche DLL ausführen und woher soll das System dann wissen welches Handle du bei FreeLibrary schleißen willst wenn du nur den Lib-Dateinamen übergibst.

Hundertmal danke!

Dann hat sich dieser Fehler in dieser Diskussion - anscheinend von mir dort eingeschleppt - verdammt lang behauptet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:29 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