숨막히는 초보 님이 쓰신 글 :
: 리스트 추가시의 잘못인지....리스트를 가져올때의 잘못인지 모르겠네요~
: 함 봐주세요..
:
: ..
: ..
: ..
: while m_data.DataSource.DataSet.Eof = false do
: begin
: code := m_data.DataSource.DataSet.FieldByName('mCode').AsString; // 변수에
: kind := m_data.DataSource.DataSet.FieldByName('mKind').AsString; //데이터를 저장한 후
:
: DataSource.DataSet.Next(); //데이터섿은 다음으로 이동하고,
:
: new(pRec); //리스트에 담을 구조체를 동적할당하여
: pRec^.code := code;
: pRec^.kind := kind; //구조체에 옮겨 저장한 후
: m_list.Add(pRec); //리스트에 추가합니다.
: end;
: ..
: ..
: for i:=0 to m_list.Count-1 do
: begin
: pRec := m_list.Items[i];
: buffer := pRec^.m_kind.GetKind; //리스트의 값을 조사해보면
: end; //처음부터 끝까지 마지막에 넣은 값만 들어있습니다.
: ..
: ..
:
: 어디가 잘못된건지 모르겠네요..
: 조언 부탁드립니다.
type
TRec = record
code : String;
kind : String;
end;
Rec = ^TRec;
중간 생략
new(pRec); //리스트에 담을 구조체를 동적할당하여
pRec^.code := code;
pRec^.kind := kind; //구조체에 옮겨 저장한 후
m_list.Add(pointer(pRec)); //리스트에 추가합니다.
end;
.............................
var
Rec : TRec;
begin
for i:=0 to m_list.Count-1 do
begin
Rec := Rec(m_list.Items[i])^;
buffer := Rec.kind; //리스트의 값을 조사해보면
end;
|