컴포넌트를 만들고 있는 중입니다.
이 컴포넌트에서 메소드를 호출하면 폼을 하나 생성하게 되어있습니다.
그리고 이폼의 TStrings변수에 컴포넌트의 TStrings를 넘겨주려고 하는데 Access Violation이 일어납니다. 어디가 잘못 되었는지..
아래는 컴포넌트 소스의 폼 호출부입니다.
FJory:TStrings;
property Jory:TStrings read Fjory write SetJory;
procedure TMyMenu.CallJory;
var
Form:TJoryForm;
begin
Form:= TJoryForm.Create(Application);
try
Form.Cook:= Jory; //Cook은 JoryForm의 TStrings형 전역변수;
...
finally
Form.Free;
end;
end;
/////////////TJoryForm의 소스 일부
procedure TJoryForm.MakeJoryButton;
var
i:Integer;
begin
for i:=0 to Cook.Count-1 do begin
with TButton.Create(Self) do begin
Caption:= Cook.Strings[i];
Parent:=Joryform;
end;
end;
end;
컴포넌트에서 처음 폼을 호출할 때는 이상이 없는데 폼을 닫고 다시 호출하면 에러가 나는 군요. 해결책을 알고 싶습니다.