type
TMyInfo = ^recInfo;
recInfo = record
strTitle : string;
intType : integer;
strListItem: TStringList;
end;
이런식으로 선언하구요...
여러개의 TMyInfo를 TList에 Add 시켜놓았습니다.
그런데 TList에서 하나의 인덱스를 Delete 시킬때 TMyInfo를 어떤식으로 지워야 할지...
그리고 어디까지 지워야 하는지도 잘 모르겠습니다..
(그러니까...recInfo 도 지워야 하나요? recInfo의 멤버로 선언된 StringList는 어떻게 해야 하는지?)
너무 힘드네요..자꾸 헷갈리기만 하구..
꼭 도움좀 부탁드립니다..아주 간절히...
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는 어떻게 해야 하는지?)
>
> 너무 힘드네요..자꾸 헷갈리기만 하구..
> 꼭 도움좀 부탁드립니다..아주 간절히...
>