Einzelnen Beitrag anzeigen

Viktorii

Registriert seit: 19. Jul 2007
358 Beiträge
 
#8

Re: Thread & WaitForSingleObject - Access Violation bei

  Alt 13. Feb 2008, 14:16
Okay, funktioniert mittlerweile sehr gut. Nur eine Sache wäre da noch: Wenn ich die Funktion VirtualAlloc aufgerufen habe, muss ich den Speicher ja auch wieder freigeben. Dazu habe ich mir eine CleanUp-Procedure welche ich bei OnTerminate meines Threads ausführe:

Delphi-Quellcode:
procedure TBulkCommandThread.CleanUp(Sender: TObject);
var
  bRet : Boolean;
begin
  bRet := VirtualFree(FEnumProcInst, 15, MEM_DECOMMIT);
  ...
end;
Nur leider erhalte ich eine access violation:
Delphi-Quellcode:
---------------------------
Benachrichtigung über Debugger-Problem
---------------------------
In Projekt ... trat ein Problem mit folgender Meldung auf: 'access violation at 0x01750000: read of address 0x01750000'. Prozess angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK
---------------------------
An welcher Stelle kann ich den Speicher am besten wieder freigeben, ohne dass ich eine access violation erhalte?
Vielen Dank
  Mit Zitat antworten Zitat