Q&A

  • 도움 부탁드립니다...TList에서 Item 삭제시...
type

TMyInfo = ^recInfo;

recInfo = record

strTitle : string;

intType : integer;

strListItem: TStringList;

end;



이런식으로 선언하구요...

여러개의 TMyInfo를 TList에 Add 시켜놓았습니다.



그런데 TList에서 하나의 인덱스를 Delete 시킬때 TMyInfo를 어떤식으로 지워야 할지...

그리고 어디까지 지워야 하는지도 잘 모르겠습니다..

(그러니까...recInfo 도 지워야 하나요? recInfo의 멤버로 선언된 StringList는 어떻게 해야 하는지?)



너무 힘드네요..자꾸 헷갈리기만 하구..

꼭 도움좀 부탁드립니다..아주 간절히...



2  COMMENTS
  • Profile
    kylix 2001.03.17 02:54
    만들때...

    var

    MyInfo: TMyInfo;

    begin

    New(MyInfo);

    MyInfo.strTitle := '어쩌구 저쩌구';

    MyInfo.strListItem := TStringList.Create;

    ......

    MyList.Add(MyInfo);

    end;



    삭제할때

    var

    MyInfo: TMyInfo;

    begin

    MyInfo := TMyInfo(MyList.Items[인덱스]);

    MyList.Delete(인덱스);

    MyInfo.strListItem.Free;

    Dispose(MyInfo);

    end;



    포인터타입의 prefix는 T가 아니라 P를 사용하는 것이 관례입니다.



    TList에서 상속받아서 Delete와 Notify메소드를 오버라이드해서 사용하시면 편합니다.



    형변환하기 싫으시다면 Items속성같은것두 바꾸어주시고요...



    이 지연 wrote:

    > type

    > TMyInfo = ^recInfo;

    > recInfo = record

    > strTitle : string;

    > intType : integer;

    > strListItem: TStringList;

    > end;

    >

    > 이런식으로 선언하구요...

    > 여러개의 TMyInfo를 TList에 Add 시켜놓았습니다.

    >

    > 그런데 TList에서 하나의 인덱스를 Delete 시킬때 TMyInfo를 어떤식으로 지워야 할지...

    > 그리고 어디까지 지워야 하는지도 잘 모르겠습니다..

    > (그러니까...recInfo 도 지워야 하나요? recInfo의 멤버로 선언된 StringList는 어떻게 해야 하는지?)

    >

    > 너무 힘드네요..자꾸 헷갈리기만 하구..

    > 꼭 도움좀 부탁드립니다..아주 간절히...

    >

  • Profile
    이 지연 2001.03.17 03:41
    감사^^