지난번 질문에 어떤 분이 아래 방법으로 잘 될것이라고 말씀 해 주셔서
해 보았는데요...사양은 win98, 델파이5, SDI 폼입니다.
//아래는 열고자 하는 폼의 타입이고요..
type
TMe110F = class(TForm)
//아래는 메인폼의 소스 일부 입니다.
implementation
uses Me110p,Me111p, Me120p;
procedure TMain.M1Click(Sender: TObject);
begin
if Me010F = nil then
Me010F := TMe010F.Create(self);
Me010F.show;
end;
이렇게 하니까
한번 열고 열려진 상태에서 다시 열면(메뉴클릭) 잘 됩니다.
폼이 생성되지않고 최상위로 보여지는 것이죠...
문제는 사용하다 닫고(Close) 다시 그 폼을 열면 Access Violation....에러가
납니다.
다른 폼을 열려고 시도하면 '잘못된 연산....' 하면서 Exe가 죽어요...
때문입니다.
Form이 해제 될 때 Me010F에 nil을 할당하도록 처리해 보세요.
즐프하세요.