Thema: Delphi LoadLibrary in Thread?

Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

AW: LoadLibrary in Thread?

  Alt 27. Sep 2011, 10:08
Delphi-Quellcode:
type
  TInit = procedure; stdcall;

function MyTestThread(Param: Pointer): Integer;
var
  hTestDLL: THandle;
  TestDLLInit: TInit;
begin
  hTestDLL := LoadLibrary(PChar(ExtractFilepath(ParamStr(0)) + 'TestDLL.dll'));
  if hTestDLL <> 0 then
  begin
    @TestDLLInit := GetProcAddress(hTestDLL, 'Init');
    if Assigned(TestDLLInit) then
    begin
      TestDLLInit;
    end
    else
      MessageBox(0, PChar(SysErrorMessage(GetLastError)), 'GetProcAddress', MB_ICONSTOP);
  end
  else
    MessageBox(0, PChar(SysErrorMessage(GetLastError)), 'LoadLibrary', MB_ICONSTOP);
  Result := 0;
end;

procedure TForm1.btn1Click(Sender: TObject);
var
  ThreadID: Cardinal;
begin
  CloseHandle(BeginThread(nil, 0, MyTestThread, nil, 0, ThreadID));
end;
Geht ohne Probleme mit Delphi 7.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat