![]() |
GetProcAddress Error "Left side cannot be assigned to"
ich habe einige Sachen mit DLLs die dynamisch geladen werden, aber stosse gerade in einem neuen Projekt auf den Fehler in folgender Routine :
Code:
Ja, ich weiss, dass es ein leer-string ist ;-)
procedure TForm2.Button1Click(Sender: TObject);
var JmpPoint : TProc; Handle : HMODULE; begin Handle := LoadLibrary(PChar('')); if Handle <> 0 then begin @JmpPoint := GetProcAddress(Handle, PChar('RegisterModules')); If Assigned(JmpPoint) Then JmpPoint; end; end; Welche Einstellung muss beim Projekt gemacht werden, damit der Fehler "Left side cannot be assigned to" nicht mehr kommt ? Danke schonmal |
AW: GetProcAddress Error "Left side cannot be assigned to"
Hast du mal das @ vor dem JmpPoint weggelassen?
Das ist zumindest mal nicht notwendig, evtl sogar falsch. |
AW: GetProcAddress Error "Left side cannot be assigned to"
Geht nicht, weil GetProcAdress einen Pointer liefert, JmpPoint aber vom Typ TProc ist.
Den code kann kan in eine leeres VCL app Projekt kopieren mit einem Button oder gleich ins FormShow event, es lässt sich wegen dem Fehler ja nicht kompilieren. Dann kann man selbst gleich sehen, dass ob es geht oder nicht :) |
AW: GetProcAddress Error "Left side cannot be assigned to"
TProc ist ein Delphi-Spezifischer Typ der mehr ist als nur ein simpler Pointer auf eine Funktion. Wenn RegisterModules eine simple prozedur ohne parameter und rückgabewert ist mußt Du JmpPoint wie folgt deklarieren:
var JmpPoint : procedure; Dann sollte die Zuweisung funktionieren. |
AW: GetProcAddress Error "Left side cannot be assigned to"
Das geht, Danke!
|
AW: GetProcAddress Error "Left side cannot be assigned to"
Alternativ kannst du auch den Rückgabewert von GetProcAddress auf TProc casten. Das sollte dann auch (ohne @) funktionieren.
|
Dieses Thema wurde am "16. Jan 2019, 17:35 Uhr" von "Luckie" aus dem Forum "Programmieren allgemein" in das Forum "Win32/Win64 API (native code)" verschoben.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:28 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