|
잘 기억이 안나서 냅뒀는데 하루가 지나는군요..
하나의 애플리케이션을 이루는 최상위는 (빌더에서) TApplication 입니다.
TApplication *App;
TForm2 *Form2;
extern "C" __declspec(dllexport) void __stdcall ShowNewForm(TApplication *Owner)
{
App = Owner;
Form2 = new TForm2(App);
Form2->Show();
}
extern "C" __declspec(dllexport) void __stdcall DeleteForm(void)
{
delete Form2;
}
저게 맞는지는 잘 기억이 나질 않습니다.ㅡ,.ㅡ;
대충은 맞은듯 싶은데 뭔가 하나가 빠진듯한.. ㅡ_ㅡ;;
예전 소스하드가 날라가는 바람에 ㅡ_ㅡ;;
기억이 나서 틀렸다면 수정하도록 하겠습니다.
틀렸다면 죄송합니다.~~
아참.. 위에 예제는 하나의 방법일 뿐입니다.
정답은 아니란 이야기지요
꿈꾸는빛.영준 님이 쓰신 글 :
: extern "C" __declspec(dllexport) void __stdcall ShowNewForm(void)
: {
: Form2 = new TForm2(NULL);
: Form2->Show();
: }
:
: 게시판을 검색해서.. 폼을 DLL로 만드는 방법을 알았는데요..
:
: 근데 DLL로 만들어진 폼을 다른 프로젝트에서 사용할려고 하는데.
:
: Form2->ShowModal();
: delete Form2;
:
: 이런 형태로 DLL의 ShowNewForm 함수를 만들어 두면.. 문제 없이 잘 되는데요..
:
: 이렇게 되면.. 모달로 띄워진 폼을 닫기 전엔 다른 작업을 할수 없잖아요.
:
: 그래서..
:
: Form2->Show();로 바꾸고 OnCrose 에 Action = clFree;
:
: 했는데.. 안되는군요.. 해결할수 있는 방법이 없나요?
|