Einzelnen Beitrag anzeigen

p.abend
(Gast)

n/a Beiträge
 
#3

Re: Funktion ausführen, Die in einem String steht?

  Alt 10. Okt 2007, 07:55
Hallo DelphiKlaus!

Danke für deine Antwort. Ich habe mal danach gesucht, und auch etwas gefunden. http://www.delphi-forum.de/viewtopic...getprocaddress

Nun ist die Frage, wie ich das ganze anwende, denn ich weiß ja nicht welche Funktionen in der DLL drin sind. Oder muss ich zwingend Wissen welche Funktionen da drin stehen?

Oder kann ich das auch so machen?

Delphi-Quellcode:
type
   TMyFunc = function(): Boolean; stdcall;
{...} 

var
  {...}  
  DLLHandle: THandle;
  MyFunc: TMyFunc;
 
procedure TMainForm.ButtonLoadClick(Sender: TObject);
begin
  try
    DLLHandle := LoadLibrary(PChar('meine.dll'));
    @MyFunc := GetProcAddress(DLLHandle, 'mein funktions string');

    if (@MyFunc <> nil) then
    begin
      // ausführen MyFunc();
      {...} 
    end
    else begin
      FreeLibrary(DLLHandle);
      MessageDlg('Die Funktion wurde in der Bibliothek meine.dll nicht gefunden...' + #13
        + 'Source: meine.dll', mtError, [mbOk], 0);
    end;
  except
    MessageDlg('Die Funktions-Bibliothek meine.dll konnte nicht geladen werden!' + #13
      + 'Source: meine.dll', mtError, [mbOk], 0);
 end;
  Mit Zitat antworten Zitat