Einzelnen Beitrag anzeigen

Benutzerbild von sieppl
sieppl

Registriert seit: 15. Aug 2004
Ort: Münster
198 Beiträge
 
Delphi 7 Professional
 
#5

Re: ListView wird anscheinend vor Destroy-Aufruf zerstört

  Alt 10. Okt 2004, 03:06
Erstmal vielen Dank für deinen Support trotz Code-Verweigerung.

Wie gesagt, liegt der Code nun als Komponente vor und ich rufe
Destroy nicht selber auf, es handelt sich um den überschriebenen Destruktor:

Delphi-Quellcode:
destructor TImgStdListView.Destroy;
begin
  if Assigned(FThumbnailThread) then
  begin
    SuspendThread;
    FThumbnailThread.Terminate;
    FThumbnailThread.Resume;
    WaitForSingleObject(FThumbnailThread.Handle, 3000);
  end;
  if Assigned(FDirWatcherThread) then
  begin
    FDirWatcherThread.Terminate;
    WaitForSingleObject(FDirWatcherThread.Handle, 3000);
  end;
  if Assigned(FCacheList) then
  begin
    ClearTransferList;
    FCacheList.Free;
  end;
  if Assigned(FObjectList) then
    FObjectList.Free;
  if Assigned(FMemoryInfo) then
    FMemoryInfo.Free;
  OleUnInitialize;
  inherited;
end;
Der Thread ist gerade dabei das hier auszuführen wenn der Fehler geworfen wird:

if FListView.Items[I].ImageIndex = 0 then Nur sollte Items noch vorhanden sein, solange Destroy nicht durchlaufen wurde.
Hat beim Entwickeln auch IMMER funktioniert. auch ohne Synchronize.

Grüße

Sebastian

[EDIT:]
Durchsteppen ist schwierig, da ich auf Anhieb nicht erkenne wann der ListView zerstört wird. Wo geschieht das durch eine Parent-Komponente genau?
Sebastian
  Mit Zitat antworten Zitat