구조체인가요.? 레코드를 아래와 같이 정의 하고요...
TotalChannelList_t = record
Channelgroup_addr : String;
AgentCnt : String;
ChkTime : String;
C_Result : String;
end;
배열을 정의 해줬습니다.
TotalChannelList : Array of TotalChannelList_t;
이 배열에 값을 입력하려고 하는데 잘 안되네요..
이 배열에 입력하려면 어떻게 구현 하는게 맞는건지요.?
try
for i:= 0 to ListView1.Items.Count-1 do
begin
SetLength(ToTalChannelList, i);
Initialize(i);
TotalChannelList[i].Channelgroup_addr := strGroupList[i];
TotalChannelList[i].AgentCnt := IntToStr(mcInfoList[i].agentMemberCnt);
TotalChannelList[i].ChkTime := TimeToStr(now());
TotalChannelList[i].C_Result := 'Normal';
end;
except
Finalize(i);
end;
이런 식으로 했는데. 에러가 발생합니다.
SetLength(ToTalChannelList, 10);
으로 해서 각 레코드마다 0의 필드로 해서는 됩니다.
근데 임의의 배열을 생성해서 하려니..안되네요..초기화가 안되서 그런건간요.?
동적배열 생성해서...최기화 하려면 어떤 방식으로 해야하는지요..부탁드립니다.
SetLength(ToTalChannelList, i); ==> SetLength(ToTalChannelList, i+1);
와 같이 해 주셔야 합니다.
i 가 0일때 SetLength(xxx,0);의 뜻을 생각해보시면 이해가 되실듯.