웹에서 발견한건데 함 해보세요
dll하고 exe를 runtime package와 함께 build하라는데
원문은 다음과 같네요
The whys and hows of packages in exe+dll projects
The reason it failed without packages is this: Delphi identifies a class at
run-time by the address of the classes virtual message table, which in turn is
part of a larger class record. This method of class identification is used by
the Is and As operators, for instance.
Without packages each module of the application has its own set of the VCL
code, each module will have a class record for TForm, for instance, all with
different addresses, of course. So if some VCL code does a test like
If control Is TForm then...
and the control (which in fact is a TForm descendent) was created in another
module, then the test will fail. You may even get cryptic exceptions from
TPersistent.Assign like "Cannot assign a TFont to a TFont." This happens
because the two TFonts in question were created in differen modules.
With packages you only have one common set of the VCL code (in the Delphi base
packages like VCL40.BPL), only one class record per class for all your
modules, so the problem is gone.
Peter Below (TeamB) 100113.1...@compuserve.com)
No e-mail responses, please, unless explicitly requested!
http://groups.google.co.kr/group/borland.public.delphi.vcl.components.using/browse_frm/thread/db78b869e5b7307f/e005f4d84ad8aa6d%23e005f4d84ad8aa6d
고황일 님이 쓰신 글 :
: DLL의 폼을 메인폼에 docking 하려고 합니다.
: 메인 폼에서 DLL과 같은 소스를 이용하여 (사실 소스를 복사했습니다) 메인 폼의 panel에 docking 테스트를 하는데
: 메인 폼측에서 만든 폼은 메인폼의 panel에 잘 붙습니다.(Caption05.jpg)
: 하지만 DLL에서 생성된 폼은 docking이 되긴 하지만 이상하게 붙어 있습니다. (Caption02.jpg)
:
: DLL에서 생성된 또는 정의된 폼을 docking 하는 방법에대한 조언을 구합니다.