1

がありTObjectList<TUSBDevice>ますTUSBDevice。 は作成したクラスです。パラメーターとして渡されたインデックスを使用して呼び出してみDeleteましたが、それは単に何をするかということですTList.Delete():リストからポインターを削除しますが、オブジェクト自体は解放しません。

配置したブレークポイントは、呼び出されたTUSBDevice.Destroy()ときにブレークしません。Delete()私も時計を持っていてTObjectList、アイテムがリストから削除されるのを見ることができますが、オブジェクトのメモリアドレスの内容は解放されません。

のデストラクタTUSBDevice:

destructor TUSBDevice.Destroy();
begin
  removeDatabaseEntry();
  filteredFolders.Free();
  fileQueue.Free();
end;
4

1 に答える 1