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
[45669] Re:DLL File에 대한 에러문제인데여.....
xiles [xiles] 925 읽음    2006-07-15 23:48
질문 하시는 부분이 정확히 파악되지는 않지만..
LoadLibrary는 프로그램 시작시..(OnShow 이벤트 같은 때) 한 번 시도해주시고..
나머지 경우에 dll 이 로드되어있는지 아닌지는 himo 가 NULL인지 아닌지만 확인하면 됩니다.

아야 님이 쓰신 글 :
: 안녕하세요 포럼회원님... m( =^ ^=)m
: 항상 많은 도움을 받고있습니다....
:
: 이번엔...DLL에 관한 모르는게 있어서 이렇게 또다시 글을 올립니다....
:
: 실행시Link 를 사용해서 DLL파일을 불러들이는 에플리를 만들고 있는데요...
: 다른건 순조롭게 만들어졌는데...마지막으로 에러처리를 어떻게 해야할지 망설이고 있습니다...
:
: 제가 하고 있는 프로젝트는요... 동적폼을 실행해서 SubForm에서 동적DLL을 실행시킬려고 합니다..
: 만약에  LoadLibrary()로 DLL파일을 로드해서 핸들이 NULL일경우MessageBox()로 User에게 알리고
: SubForm을 Close()함 ...
: 단,
: 1.    MainForm이랑다른SubForm1,2..에서 실행시킨 이벤트에는 영향을 안 미침
: 2.   SubForm에는 여러가지 Button이 배치되어있슴..
:
: 이런경우에는 하나의 공통된 에러 관수를 하나 작성해서 각Button컴퍼넌트를 KeyDown할때마다 선두에 적어
: DLL 가Load되었을 경우에만 실행시킴...
: 이렇게 하면 되나요?????
: 우선 이렇게 해봤는데요...
: void __fastcall TSubForm::FormActivate(TObject *Sender)
: {
:    hmio = LoadLibrary( "MIO.dll");                                             //DLL Load
:     if ( hmio == NULL) {                                                                      //DLL가 Load되지않았을경우
:         Application->MessageBox(
:                             "DLL 가 OPEN안되었슴",
:                             "DLL 에러",
:                              MB_OK);
:     Close();
:     }
: }
: //---------------------------------------------------------------------------
: void __fastcall TSubForm::TeleBtn1MouseDown(TObject *Sender,
:       TMouseButton Button, TShiftState Shift, int X, int Y)
: {
:     hmio = LoadLibrary( "MIO.dll");
:     if ( hmio == NULL) {
:         Application->MessageBox(
:                             "DLL DLL 가 OPEN안되었슴
:                             "DLL 에러",
:                              MB_OK);
:         Close();
:     } else {
:     // Open된경우 이벤트에 대한 처리함...
:     }
: //---------------------------------------------------------------------------
: void __fastcall TSubForm::FormDestroy(TObject *Sender)
: {
:     FreeLibrary( hmio);                                                         // DLL의 해방
: }
: 이렇게 하면 되나여...???  m( - -;;)m
:
: 그리고,질문1 에대한 처리는 어떻게 해야할지..... MainForm에서도 이런식으로 DLL실행을 하면 되는가요???
: 고수님 부탁합니다....

+ -

관련 글 리스트
45614 DLL File에 대한 에러문제인데여..... 아야 824 2006/07/11
45669     Re:DLL File에 대한 에러문제인데여..... xiles 925 2006/07/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.