|
클래스 이름으로 차일드 생성하기
(1) 차일드 유닛의 맨 아래에 다음라인을 추가한다.
initialization RegisterClasses([TForm2]);
컴포넌트에서 볼 수 있는 소스지요...클래스를 등록하면
'TForm2' 라는 클래스 이름으로 클래스를 찾을 수 가 있습니다.
(2) 이제 생성을 해보지요
function CreateChild(sClass : string):Boolean;
var MyFormClass : TFormClass;
WorkForm : TForm;
H : THandle;
begin
Result := True;
MyFormClass := TFormClass(GetClass(sClass)); //클래스를 찾아온다
if MyFormClass <> nil then begin
WorkForm := MyFormClass.Create(Application.MainForm);
end else Result := False;
end;
..........
메인 폼에서 Form2 := TForm2.Create(Self); 라고 생성했던 루틴을 지우고
CreateChild('TForm2');
위 소스는 보시다시피 델파이 소스입니다.
이것을 빌더로 활용하려구 하는데 잘 안되네요!
아시는 분은 좀 도와주세요!
|