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

델파이 Q&A
Delphi Programming Q&A
[13936] Re:Re:[질문] delphi2010 activex 생성과 delphi7 activex 생성 방법이 다른가요...
ji [byuljji] 2018 읽음    2011-11-24 15:37
님... 답변 감사합니다.
근데...
님께서 주신 embarcadero에 가서 보니... 2010 버전과 또 다르네요...

Click Run | Register Server
라고 되어 있는데, 2010에서는 Register ActiveX Server 메뉴가 있고,
이 메뉴 실행했더니 '지정되지 않은 오류'  메시지가 뜨네요...

Click Component | Import Component
라고 되어 있는것도... 2010에서는 없는건지 못찾는건지... ㅠ_ㅠ

음...
어떻게 해야될 지 모르겠네요.
Type Library에서 함수를 만들어서 함수 외형이 코딩되어 있지 않고...
일일이 모두 코딩을 해줘야 되는건지 모르겠네요...



박지훈.임프 님이 쓰신 글 :
: 델파이 2009 버전부터 액티브X 컨트롤 코드의 구현 방식이 바뀌었습니다. 2007 버전까지는 TOLEControl 래퍼 클래스를 썼었는데 2009 버전부터는 안쓰죠. 구현 방식이 바뀐 후로 여러 장점들이 생겼는데, 간혹 이 TOLEControl 래퍼 클래스에 코딩을 추가해야 하는 경우가 있어서 곤란하기도 합니다. 이 문제에 대해 엠바카데로에서 대안을 내놓겠다고 했었는데, 아직 해결이 안되고 있습니다.
:
: 대신 약간의 꽁수를 내놨는데요. 작업중인 프로젝트로 생성한 액티브X를 임포트하라는 것입니다. 그러면 다시 xxx_TLB.pas 파일이 생성되죠. 델파이 2009 이후 버전에서 새 액티브X를 생성할 때의 xxx_TLB.pas에는 TOLEControl 래퍼가 없지만, 기존의 액티브X를 임포트했을 때의 xxx_TLB.pas에는 이전 버전들과 마찬가지로 TOLEControl 래퍼 구현이 추가되기 때문입니다.
:
: 그러니까, 임포트할 때 생성되는 xxx_TLB.pas 파일을 원래의 xxx_TLB.pas 파일에 덮어씌우시면 됩니다. 두 파일의 차이는 TOLEControl 래퍼 클래스의 존재 여부 뿐입니다.
:
: 이 방법은 제가 알아낸 것은 아니고, 버그 리포트 69080에 대해 엠바카데로 QA팀에서 알려준 방법입니다.
: http://qc.embarcadero.com/wc/qcmain.aspx?d=69080
:
: 그럼...
:
:
: ji 님이 쓰신 글 :
: : delphi2010으로 ocx를 처음 만들어봅니다.
: : 메뉴에서 ActiveX Library 선택하고, Active Form을 선택해서 프로젝트 생성(프로젝트명:PpsTo)은 했습니다.
: :
: : delphi7에서 _TBL.pas 파일을 보면
: : GUID가 생성된 부분(PpsTo = dispinterface 라고 코딩되어 있는 부분) 아래에
: : OLE Control Proxy class declaration 이라는 주석이 보이고,
: : TPpsToOnKeyPres = proceduere(ASender...) of object;
: : 라고 코딩이 되어 있습니다.
: : 그리고, type library에서 function을 추가하면
: : 이 부분에 추가된 함수가 코딩이 되는 것 같은데,
: :
: : delphi2010에서는
: : OLE Control Proxy class declaration 이라는 주석 부분이 아예 보이지 않습니다.
: : PpsTo = dispinterface 라고 코딩되어 있는 부분 아래에 바로
: :
: : implementation
: : uses ComObj;
: : end.
: :
: : 이라고 코딩되어 있습니다.
: : InitControlData, CreateControl 등의 함수도 보이지 않습니다.
: :
: : 원래 그런건지... 아니면 뭔가 잘못 만든건지... 모르겠습니다.
: : 어떻게 ocx을 생성해야 되는지
: : 답변 부탁드립니다.
: : 감사합니다.

+ -

관련 글 리스트
13934 [질문] delphi2010 activex 생성과 delphi7 activex 생성 방법이 다른가요... ji 1865 2011/11/23
13935     Re:[질문] delphi2010 activex 생성과 delphi7 activex 생성 방법이 다른가요... 박지훈.임프 2101 2011/11/24
13936         Re:Re:[질문] delphi2010 activex 생성과 delphi7 activex 생성 방법이 다른가요... ji 2018 2011/11/24
13937             Re:Re:Re:[질문] delphi2010 activex 생성과 delphi7 activex 생성 방법이 다른가요... 박지훈.임프 2053 2011/11/24
13938                 Re:Re:Re:Re:[질문] delphi2010 activex 생성과 delphi7 activex 생성 방법이 다른가요... ji 2491 2011/11/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.