C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[44991] Re:폼을 bpl 또는 dll로 분리하는 방법에 대해서...
장성호 [nasilso] 1093 읽음    2006-05-23 14:32
먼저 bpl로 만드는 방법은 모르겠구요

dll로 만드는 방법을 말씀드리겠습니다.

결론부터 말씀드리면  그냥 dll만드는것이랑 똑같습니다.
아주 간단합니다.

1. file->new -> DLL Wizard를 클릭해서 만듭니다.
2. 원하시는 폼을 file->new해서 추가해도 되구요
    이미 폼이 있다면 Project에서 Add하셔도 됩니다.
3. 마지막으로  다른 application에서 dll에 있는 폼을 Show하려면  Interface함수를 만들어 줘야겠죠

      __stdcall 로 해도 되고 Main App가 Builder를 쓰신다면 __fastcall로 함수를 만드셔도 됩니다.

[샘플]
//아래 함수는 Builder로 dll만들고 VB에서 가져다 dll내의 Builder로 만든 Form을 쓰는 함수이입니다.

extern  "C" __declspec(dllexport) int __stdcall ShowDeviceConfig(int page_idx);//

int __stdcall ShowDeviceConfig(int page_idx)
{
    TfrmInstallManage *frmInstallManage =  new TfrmInstallManage(NULL);
    frmInstallManage->pctInstallManage->ActivePageIndex=page_idx;
    frmInstallManage->ShowModal();
    delete frmInstallManage;
    return 1;
}
//--------------------------------------------------------------------------

그다음 그럼 어떻게 쓰냐?  간단히 기술하면 (runtime때 가져다 쓰는경우)

1. LoadLibrary
2. GetProcAddress

뭐 이런식으로 하면 됩니다.





심호용 님이 쓰신 글 :
: Q & A 어디에선가 본것 같은데, 다시 찾아보니 없네요.
: 응용프로그램 사이즈가 1MB를 넘어가서 분리하려고 하거든요.
: 자세한 설명 부탁드립니다.
: 며칠동안  찾아보다가 이렇게 질문올립니다.
: 지나치지 마시고 답변 부탁드립니다.

+ -

관련 글 리스트
44982 폼을 bpl 또는 dll로 분리하는 방법에 대해서... 심호용 746 2006/05/23
44991     Re:폼을 bpl 또는 dll로 분리하는 방법에 대해서... 장성호 1093 2006/05/23
44992         답변감사드립니다. 심호용 813 2006/05/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.