|
간단한 작업을 폼에서 하는거라면..그냥..mfc로 dialog를 갖는 dll을 만들어서 넣어 보세요..
복잡한 작업이면.. 시도 조차 하지 마세요.. 일거리 장난아니게 많아집니다.^^
박지훈.임프 님이 쓰신 글 :
: dll은 C 언어 인터페이스이기 때문에, dll을 호출하는 쪽에서 dll 내부의 클래스를 전혀 인식할 수 없습니다. MS가 스스로 dll은 C 인터페이스다, 라고 규정해놨기 때문에 불가능합니다.
:
: dll에 폼을 넣었을 경우 폼을 호출할 수 있는 방식은 오직 폼을 생성하고 보여주는 함수를 dll에 넣고 그 함수를 엑스포트한 다음 메인 쪽에서 그 함수를 호출하는 것 뿐입니다. 이렇게 하면 메인쪽에서 dll 폼의 클래스를 알 필요가 없으니까요.
:
: 해결 방법은 dll이 아닌 bpl로 만드는 겁니다. bpl은 클래스 인터페이스이므로 원하시는 딱 그대로 가능합니다.
:
: 그럼...
:
:
: dll초보 님이 쓰신 글 :
: : 어려운건 아닌거같은데 씨빌더 책이나 자료가 워낙 없어서 질문드립니다.
: :
: : 어떤 역할을 하는 폼을 만드는데 이것을 DLL형태로 만들어서 다른 프로젝트
: :
: : 에서 불러서 사용하려고 합니다.
: :
: : 만약 이 폼이 TMyForm 이라고 하면 사용하는 프로그램에서
: :
: : #include "MyForm.h"
: : ....
: : void TMain::Execute()
: : {
: : TMyForm *form = new TMyForm(this);
: : form->Show();
: : ....
: : }
: :
: : 이런식으로 사용할 예정입니다.
: :
: : DLL은 위저드로 생성하고 폼을 추가하면 될것같은데 어떻게 익스포트해서
: :
: : 사용하는지 방법 좀 갈켜주세여...
|