![]() |
AV beim Schließen des Fensters
Noch ein letztes Problem. Ich habe folgenden Code:
Delphi-Quellcode:
In dem Record habe ich ein dynamisches Array für das ich Speicher alloziieren muss. Dies geschieht in der markierten Zeile. So weit so gut. Nur bekomme ich eine AV, wenn ich das Fenster schließe. Kommentiere ich die Zeile aus, bekomme ich eine AV wenn ich den Button klicke, aber nicht beim Schließen. Daraus schließe ich, dass es an dieser Zeile liegen muss. Nur warum? Im OnClose oder OnDestroy habe ich keinen Code mehr.
type
TThreadParams = packed record cntFileLists: Integer; DriveArray: TStringDynArray; Filter: ShortString; Listview: TListView; end; PThreadParams = ^TThreadParams; [..] procedure TForm1.btnFindClick(Sender: TObject); var i : Integer; cnt : Integer; DriveArray : TStringDynArray; Index : Integer; FindFilesParams: PThreadParams; ThreadID : Cardinal; begin lvFiles.Items.Clear; cnt := 0; SetLength(FileList, 0); StatusBar1.SimpleText := rsDoSearch; // für jedes ausgewählte Laufwerk eine Dateiliste for i := 0 to lstDrives.Items.Count - 1 do begin if lstDrives.Checked[i] then begin Inc(cnt); end; end; SetLength(FileList, cnt); SetLength(DriveArray, cnt); // alle Laufwerksbuchstaben in eine Liste eintragen Index := 0; for i := 0 to lstDrives.Items.Count - 1 do begin if lstDrives.Checked[i] then begin DriveArray[Index] := lstDrives.Items.Strings[i]; Inc(Index); end; end; // Thread starten GetMem(FindFilesParams, sizeof(TThreadParams)); FindFilesParams.cntFileLists := cnt; GetMem(FindFilesParams.DriveArray, cnt); // <-- !! FindFilesParams.DriveArray := DriveArray; FindFilesParams.Filter := edtFilter.Text; FindFilesParams.Listview := lvFiles; CloseHandle(BeginThread(nil, 0, @FindFilesThread, FindFilesParams, 0, ThreadID)); StatusBar1.SimpleText := Format(rsFilesCount, [lvFiles.Items.Count]); end; |
Re: AV beim Schließen des Fensters
Bin einen anderen Weg gegangen. Jetzt geht es.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz