찾다찾다 안되서 이곳에 문의 드립니다.
어찌어찌 하다가 여러개의 폼을 생성하였고
조건에 따라서 그것들(예로 frmNEW1 := TfrmNew1
frmNEW2 := TfrmNEW2
등등.... )
이런 폼들을 생성하고자 하는데 요..
폼이 너무 많아서 배열로 저장했다가 필요할때 꺼내서 생성하려합니다.
근데 폼마다 클래스명이 다르니까 마냥 frmNEW1을 Tfrom으로 생성할 수는
없는 노릇이어서
어떻게 하면 각각 다른 객체를 배열로 접근해서 생성할 수 있을지 고민입니다.
예를 들어
with ArrayFun[1][2].Create do
begin
MyHan := Handle;
end;
저 배열안에는 각각 다른 객체가 들어 있구요
이런식으로 각각 다른 객체를 생성해서 그 핸들값을 얻으려 합니다.
객체 포인터를 넣어서 어찌어찌 해보면 될 듯도 한데..
불가능한건가요??
혹시나 알고 계신 고수님 꼭 좀 알려주세요..ㅠ.ㅠ
불가능한것이라면 그 사실만이라도...부탁드립니다!!!
class reference를 써서 폼의 타입을 저장하세요.
var
ArrayFun: array[0..N] of TFormClass;
......
type
TfrmNew1 = class(Form)
......
end;
TfrmNew1Class = class of TfrmNew1;
......
ArrayFun[0] := TfrmNew1Class;
ArrayFun[1] := TfrmNew2Class;
......
......
with ArrayFun[......].Create(......) do
begin
......;
end;
때에 따라선 형변환을 하셔야 할겁니다...
^^ 항상 즐코하세요...