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
[2103] Re:OCX제작에 관하여...
박지훈.임프 [cbuilder] 3606 읽음    1999-10-13 00:00
: 안녕하세요..
: OCX제작에 대하여 질문할께 있어서 글을 씁니다.
: 제가 만든 vcl을 ocx로 바꿔서 배포를 하려고 하는데
: 문제는 vcl의 method중에 HWND형태를 함수인자로 하는 경우가
: 있습니다. WINDOW HANDLE을 받아야 하는 경우가 있기 때문이죠..
: 그런데 문제는 VCL을 그냥 사용하면 잘 돌던것이
: OCX로 만들면 안된다는 겁니다.
: 우선 __property HWND MyWindowHandle = { read=FHandle, write=SetHandle };
: 뭐 위와 같이 사용해서 핸들을 넘겨 받으려 해봤지만
: 위의 경우는 아얘 컴파일조차 되지 않더군요..
: HWND는 사용할 수 없다는 메세지가 나오구요..
: 그래서 아래의 소스처럼 해봤습니다..
:
: class PACKAGE TNetMeeting : public TCustomControl
: {
: private:
:     AnsiString  FAddress;
:     int         FLeft;
:     int         FTop;
:     int         FLeft1;
:     int         FTop1;
:     int         FWindowSize;
:     void __fastcall SetAddress(AnsiString addr);
:     void __fastcall SetLeft(int left);
:     void __fastcall SetTop(int top);
:     void __fastcall SetLeft1(int left);
:     void __fastcall SetTop1(int top);
:     void __fastcall SetWindowSize(int size);
:
: protected:
: public:
:     __fastcall TNetMeeting(TComponent* Owner);
:     bool __fastcall Init(HWND handle);
:     void __fastcall UnInit(void);
:     bool __fastcall Connect(void);
:     void __fastcall Disconnect(void);
: __published:
:
:     __property AnsiString Address = {read=FAddress, write=SetAddress };
:     __property int Left         = { read=FLeft, write=SetLeft, default=0 };
:     __property int Top          = { read=FTop, write=SetTop, default=0 };
:     __property int Left1        = { read=FLeft1, write=SetLeft1, default=160};
:     __property int Top1         = { read=FTop1, write=SetTop1, default=0};
:     __property int WindowSize   = { read=FWindowSize, write=SetWindowSize, default=160 };
:
: };
:
: 위에서 보신것처럼 Init함수에 HWND형식의 HANDLE을 넘겨줬는데.
: 문제는 이상없이 컴파일도 되고 OCX까지 만들어 졌지만..
: OCX을 다시 COMPOENT로 등록해서 사용하려고 하면..
: Init함수에서 컴파일 에러가 생깁니다.
: Init함수가 없다는 .. 쩝...
: 그래서 여기저기 찾아봤더니 VCL에서 OCX를 만드는 과정에서
: Init함수가 자동으로 빠져버리더군요..
: 참 미치겠습니다.. 별거 아닌거 같은데.. 쩝..
:
: 하여간 전 OCX에 HWND형식의 WINDOW HANDLE을 넘겨주기만 하면된느데..  아시면 답변좀 부탁합니다.. 그럼..



임펠리테리입니다.
일요일부터 다시 말레이지아로 출장을 나온 관계로 답변이 늦어졌네요. 죄송합니다.

말씀하신 내용만으로는 정확한 문제의 이유를 알수가 없네요. 이메일로 소스를
보내주시면 분석해보고 답변을 드리도록 하겠습니다. 만약 보여주시기 곤란한
내용이 있다면, 다소 귀찮으시더라도 그 부분들은 삭제하고 보내주시면 되겠네요.

그럼 이만...

+ -

관련 글 리스트
2092 OCX제작에 관하여... 김정모 3517 1999/10/11
2103     Re:OCX제작에 관하여... 박지훈.임프 3606 1999/10/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.