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
[6224] 답변이 없어 다시 올립니다. (main의 Data-->Dll로 가져가기)꼭좀 부탁드립니다
고영문 [] 2180 읽음    2001-03-20 20:00
ㅜ.ㅜ
며칠 전에 올렸는데 답변이 없어 다시 올려봅니다. 혹시 아래 코드를 보시고 더 많은 설명이
필요하시다면 답글 붙여 주세요.

메인창에서 dll의 함수를 호출하고 데이터를 다시 dll로 넘겨서 dll의 Edit창에 표시를 하려고 하거든요. 그런데 코드를 보시면 아시겠지만 timer에 의해 일정시간마다 dll을 호출합니다. 그런데 한번 호출하고 Close()가 있는데도 dll폼을 닫지 않고 계속해서 생성이 되네요. 제가 알고 싶은건

1. 왜 Close()가 먹히질 않는가??
2. 어떻게 하면 dll폼을 한번만 띄워놓고 거기에 계속 데이터를 넘겨받아 표시할수 있는가??

입니다.

현재 코드입니다.
//main------------------------------------------------------
void __fastcall TSampleForm::Timer1Timer(TObject *Sender)
{
  Edit1->Text = Data;

   typedef void (__stdcall *IMPPROC) (int);
   HINSTANCE   DllInstance;
   IMPPROC ImpFunc;

   DllInstance = LoadLibrary("About.dll");
   ImpFunc = (IMPPROC) GetProcAddress(DllInstance, "_InvokeAboutDialog");
   ImpFunc(Data);
   FreeLibrary(DllInstance);

  Data++;
  if (Data >=100)
    Data = 0;
}

//Aboutdll-----------------------------------------------------------------------------
void InvokeAboutDialog(int mainData)
{

   AnsiString a;
   a.sprintf("%d",mainData);

   TAboutForm *AboutDlg = new TAboutForm(NULL);
   AboutDlg->AboutEdit->Text = a;
   AboutDlg->ShowModal();

   AboutDlg->Close();         <----바로 이부분이 안먹히는거 같아요ㅠ.ㅠ
   delete AboutDlg;
}

+ -

관련 글 리스트
6224 답변이 없어 다시 올립니다. (main의 Data-->Dll로 가져가기)꼭좀 부탁드립니다 고영문 2180 2001/03/20
6234     Re:답변이 없어 다시 올립니다. (main의 Data-->Dll로 가져가기)꼭좀 부탁드립니다 박세용 2114 2001/03/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.