private에 선언된 변수를(FMainForm) 참조, 값 변경을 하려고 합니다.
C++ 에서는 Class를 포인트처럼해서 값 참조가 가능하더고 들었습니다.(방법은 분명히 있슴) 델파이에서도 비슷한 방법이 있다고 들었는데 혹시 아시는 분...
이거 가능하면 ActiveForm을 MDI로 만들어서 그안에 Child Form을 띄울수가 있을꺼 같은데...
부탁드립니다.
PS : Forms.Pas를 직접 수정해서 프로그램 디렉토리에 유지하면(MainForm을 read/write 로 바꿈) 가능하지만 이방법은 조금 문제가 있어서 직접 값을 참조 해야합니다.
그리고, 델파이 VCL 소스를 수정해서 다시 컴파일 하는 방법 좀 갈쳐주세요(최후의 수단)
말씀하신 개념을 '프랜드'라구 하던가요..?? 암튼 델파이에서는 한 유니트 내에 선언된 넘들 끼리는 Private 영역의 변수도 맘대로 쓸 수 있습니다.
그럼, 현재 유니트에 선언되지 않은 넘은 어케 하느냐면... 이넘을 현 유니트에 또 선언하심 됩니다.
다음은 판넬을 예로 들은 것인데... 판넬의 Canvas객체는 Private영역에 들어가 있습니다. 그러나 다음의 방법을 통해 끄집어 낼 수 있죠.
Type
TMyPanel = class(TPanel);
procedure Form1.Button1Click(Sender: TObject);
begin
TMyPanel(Panel1).Canvas.LineTo(100, 100);
end;
그럼...
---------------------------------------------------------------------------
델파이의 모든 것. 델파이 코리아. http://www.delphikorea.com
---------------------------------------------------------------------------