Kann ich vielleicht in der
DLL in der STOP Procedure nicht auf die Variable zugreifen, die ich in Start gesetzt habe?
Das andere hat leider bisher nicht geholfen. Bekommen nun "
Handle ungültig" bei FreeLibrary:
DLL:
Delphi-Quellcode:
function Start: TThread; stdcall;
begin
n := TMyThread.Create;
n.Resume;
Result := NIL
end;
procedure Stop; stdcall;
begin
n.Beenden := true;
n.WaitFor;
// Nochmal neu:
FreeAndNil(n);
end;
Delphi-Quellcode:
procedure TMyThread.Execute;
begin
while not Self.Terminated and not beenden do begin
// Mache was
end;
// Alle Komponenten des Threads hier freigeben etc.
Self.Terminate;
end;