안녕하세요...델파이 초보자 입니다.
MDI에 관해 막히는 부분이있어 질문글을 작성합니다.
MDI에 메뉴에서 메뉴 클리시에
procedure TmainMDIform.M1_01Click(Sender: TObject);
var
i : Integer;
begin
If ActiveMDIChild <> Nil then
begin
For i := MdiChildCount - 1 downto 0 do
begin
if MDIChildren[i].Name = 'frm_Delivery' then
begin
frm_Delivery.Show;
Exit;
end;
end;
end else begin
frm_Delivery:=Tfrm_Delivery.Create(Self);
frm_Delivery.Show;
end;
end;
실행시켜 Child폼이 하나 생성이 됩니다.
그후 Child폼에서 종료(onClose)하면
procedure Tfrm_Delivery.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
이걸로 종료를 시킵니다.
그런데 다시 메뉴를 클릭하여 frm_Delivery를 실행하려고 하면
메모리에 없는곳에 접근 하려는 에러 메세지(access vio....)가 뜨네요
CaFree를 하면 메모리 자체에서도 없어지나여?
CaFree대신 다른걸 사용할수 있나요?
Close하면 다른 에러가 나던데....
답변 부탁점 드리겠습니다...
두분께서 알려주신 방법대로 하니 처리가 되네요
원인은 Child프로세서에 이상이 있는것 같군요...
일단 원인을 찾아봐야겠네요...
수고하세요..^^