Q&A

  • TlistView에 만개쯤 넣으니 죽어버리네요... 메모리 립이 있는지 봐주세용.
function TfrmMain.AddFile(Path: String; rec: TSearchRec; Index: Integer) : boolean;

var

new: TListItem;

info: TSHFileInfo;

Ext, OtherExt: String;

begin

dlgTarget.GetInfo(Path, info);

new := lvFileList.Items.Add;

new.Caption := Path;

new.ImageIndex := info.iIcon;

new.SubItems.Add(GetSize(rec.Size, rec.Attr));

new.SubItems.Add(asFileTypes[aFileInfos[Index].ftFileType]);

new.SubItems.Add(GetMod(rec.FindData.ftLastWriteTime));

new.SubItems.Add(aFileInfos[Index].sDescription);

Ext := ExtractFileExt(Path);

Ext := Copy(Ext, 2, Length(Ext) - 1);

OtherExt := '.' + Ext + '.';

if (AnsiUpperCase(Ext) <> aFileInfos[Index].sDefaultExtension) and

(Pos(AnsiUpperCase(OtherExt), aFileInfos[Index].sOtherExtensions) = 0) then

new.SubItems.Add('확장자변경(' + aFileInfos[Index].sDefaultExtension + ')')

else

new.SubItems.Add(' ');

new.SubItems.Add(IntToStr(Index));

new.SubItems.Add(IntToStr(rec.Size));

Inc(FileCount);

Result := True;

StatusBar.Panels[0].Text := '총 ' + IntToStr(lvFileList.Items.Count) + ' 객체';

end;



1  COMMENTS
  • Profile
    타락천사 2000.12.24 22:06
    안녕하세여.. 타락임다..^^



    잘짜셨네여..^^



    한번 봤는데.. 메모리 릭은 없는거 같습니다..



    TListBox와 TListView에 원샷으로 많은 데이터를 쓰면 문제가 생기는거 같습니다..



    TListBox는 해결책이 나와있는데, TListView는 아직 안나온것 같네여..^^;;



    편법이지만, 일정갯수 쓸때마다 잠쉬 쉬는건 어떨까여? ^^;;



    도움 안되 지송함다..^^



    함 테스트 해보고, 조은 방법 나오면 알려드리져..



    즐푸하세여...



    타락천사