Einzelnen Beitrag anzeigen

CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#8
  Alt 1. Apr 2003, 14:47
OK. Das nächste Mal versuche ich es doch nochmal, bevor ich poste... Funktioniert.
Aber leider gibt es ein Problem: beim entladen der DLL mit
FreeLibrary(hDLL); gibt es immer, dass heißt auch, wenn ich überhaupt nicht auf die Daten zugreife, eine AccessViolation.
Hier mal der ganze Source:
Delphi-Quellcode:
procedure TMainFrm.mCfgToolsClick(Sender: TObject);
type
  TProcInitPlg = function: IPlugin; stdcall;
var
  fName: string;
  iPlg: IPlugin;
  aProc: TProcInitPlg;
  hDLL: HWND;
  fProc: TFarProc;
  mApp: TApp;
begin
  with TOpenDialog.Create(nil) do begin
    if Execute then
      fName := FileName
    else Exit;
  end;
  hDll := LoadLibrary(@fName[1]);
  fProc := GetProcAddress(hDLL,'InitPlugin');
  if fProc <> nil then begin
    @aProc := fProc;
  end else Exit;
  iPlg := aProc;
  showMessage(iPlg.GetName);
  FreeLibrary(hDLL);
end;
Chris
  Mit Zitat antworten Zitat