TCollection객체를 컴포넌트화하는 자료를 보고 판매관리 프로그램에 주문데이타를 저장하는데 활용해 보았습니다. 그런데 추가주문이 들어 왔을 때 for문으로 Item을 검사해서
같은 메뉴코드가 있으면 수량을 증가시키도록 했는데 잘되다가도 에러가 나곤합니다.
아래는 Item을 추가하는 코드입니다.
FJumun: TJumun;
procedure TfrmOrder.AddJumun (tableno,menucode,menuname,cook,port:String;count:Integer;price:double);
var
vd: TJumunItem;
begin
vd := FJumun.Items.Add;
vd.vTable:= TableNo;
vd.vMenuCode:= menucode;
vd.vMenuName:= menuname;
vd.vSubName:= cook;
vd.vCount:= count;
vd.vPrice:= price;
vd.vDate:= DateToStr(Date);
vd.vTime:= TimeToStr(Time);
vd.vTotal:= count*price;
vd.vPort:= port;
end;
추가주문시는 다음과 같이 비교를 해서 수량을 추가했습니다.
procedure ChugaJumun(menucode:String);
var
i:Integer;
begin
for i:= FJumun.Items.Count-1 do begin
if FJumun[i].vMenuCode=menucode then begin
FJumun[i].vCount:= FJumun[i].vCount+1;
...
end;
end;
end;
그리고 폼이 종료될 때 FJumun.Free를 시켰습니다.
왜 에러가 나는지 무척 궁금합니다.