我有一個包含TOpenDialog
組件(OpenDialog1
)和一個按鈕的窗體。 OpenDialog1
將ofAllowMultiSelect
(的Options
)屬性設置爲true。無效的指針操作
一旦點擊執行方法AddFilesToListView
按鈕:
procedure TForm4.AddFilesToListView();
var
ListItem : TListItem;
I: Integer;
F : File;
LengthOfAudio : TDateTime;
previousCursor : TCursor;
begin
previousCursor := Self.Cursor;
Self.Cursor := crHourGlass;
if OpenDialog1.Execute then
begin
for I := 0 to OpenDialog1.Files.Count - 1 do begin
if FileExists(OpenDialog1.FileName) then begin
ListItem:=ListView1.Items.Add;
ListItem.Caption := 'Test';
ListItem.SubItems.Add(ExtractFileName(OpenDialog1.Files[I]));
ListItem.SubItems.Add(ExtractFilePath(OpenDialog1.Files[I]));
end else
raise Exception.Create('File does not exist.');
end;
end;
Self.Cursor := previousCursor;
OpenDialog1.Files.Free;
end;
運行應用程序時,選擇的第一個文件,我沒有任何問題,但想選擇第二個的時候,我得到一個錯誤說「 Project project3引發了一個異常類EInvalidPointer,並顯示消息'Invalid Pointer Operation'。「
這是什麼原因,我該如何糾正?
除了釋放不屬於您的內存之外,您可以獲得無效指針操作異常。它只是意味着你跟隨了一個糟糕的指針。釋放別人的數據是其中一個原因,而不是它的唯一原因。 – 2009-06-30 23:17:33