글쎄요.
저는 주로 빌더 2007을 쓰고 있어서 2009에 대한 생각을 안해보고 있었는데 님의 글을 보고 2007에서 컴파일 했던것을 2009에 올려보았습니다. 그런데 별 문제없이 컴파일 되어서 인스톨 되어 지는데요.
그리고 델파이 소스가 있는 상태에서 빌더로 인스톨하는것은 그리 어렵지 않습니다. 물론 예외는 있지만...
첨부한 화면대로 파일들을 추가해서 별 문제 없이 컴파일, 인스톨했습니다.
2007에서인가 컴포넌트 인스톨하려구 프로젝트 만들면 Requires에서 vcl.bpl이 없습니다.
이걸 추가해주어야 컴파일이 정상적으로 되더군요.
이평섭 님이 쓰신 글 :
: 알려주신 것을 설치를 하면, Delphi 2009에서는 ActiveX탭에 설치된 ShockWave Flash 컴포넌트들이 보이지만,
: C++Builder 2009 에서는 ActiveX탭에 설치된 ShockWave Flash 컴포넌트들이 없습니다.
:
: C++Builder 2009 에서 Delphi 2009용 컴포넌트를 설치하여 사용하는 방법을 알고 계신 것으로 보입니다.
:
: 도움을 주시면 좋겠습니다.
:
: 망치 님이 쓰신 글 :
: : 저는
http://www.delphiflash.com 에 있는
: :
http://www.delphiflash.com/codepas/flashax.zip
: : 이 라이브러리를 빌더에서 설치해서 쓰고 있는데....기본 ocx임포트한거보다는 사용하기가 조금 편하더라구요...
: :
: : 이평섭 님이 쓰신 글 :
: : :
http://qc.codegear.com/wc/qcmain.aspx?d=23482 에서 해결방법을 찾았습니다.
: : :
: : : [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetDispID(wchar_t *, unsigned long, long *)' referenced from D:\REFERENCE\BCB\FLASHPLAYER\PACKAGE\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ
: : : [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::RemoteInvokeEx(long, unsigned long, unsigned long, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, Shockwaveflashobjects_tlb::IServiceProvider *, unsigned int, unsigned int *, tagVARIANT *)' referenced from D:\REFERENCE\BCB\FLASHPLAYER\PACKAGE\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ
: : : [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::DeleteMemberByName(wchar_t *, unsigned long)' referenced from D:\REFERENCE\BCB\FLASHPLAYER\PACKAGE\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ
: : : [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::DeleteMemberByDispID(long)' referenced from D:\REFERENCE\BCB\FLASHPLAYER\PACKAGE\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ
: : : [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetMemberProperties(long, unsigned long, unsigned long *)' referenced from D:\REFERENCE\BCB\FLASHPLAYER\PACKAGE\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ
: : : [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetMemberName(long, wchar_t * *)' referenced from D:\REFERENCE\BCB\FLASHPLAYER\PACKAGE\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ
: : : [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetNextDispID(unsigned long, long, long *)' referenced from D:\REFERENCE\BCB\FLASHPLAYER\PACKAGE\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ
: : : [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetNameSpaceParent(IUnknown * *)' referenced from D:\REFERENCE\BCB\FLASHPLAYER\PACKAGE\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ
: : :
: : : 위와 같이 에러나는 부분의 함수에 inline 를 붙여주면 무사히 설치가 됩니다.
: : :
: : : ShockwaveFlashObjects_OCX.cpp 의 위 부분 함수에 inline 를 붙여주니 문제가 해결이 되었습니다.
: : :
: : : ^^
: : :
: : : 이평섭 님이 쓰신 글 :
: : : :
http://www.delphiflash.com 에서 제공하는 것은 델파이에서 사용이 가능합니다.
: : : :
: : : : Delphi 2009에서는 ShockWave Flash Ocx가 임포트되어 ActiveX팔레트에
: : : : TShockwaveFlash 등 3가지 콤포넌트가 추가됩니다.
: : : :
: : : : 그런데
: : : :
: : : : C++Builder 2009에서는 ShockWave Flash Ocx를 임포트하여
: : : : ShockwaveFlashObjects_OCX.h
: : : : ShockwaveFlashObjects_OCX.cpp
: : : : ShockwaveFlashObjects_TLB.h
: : : : ShockwaveFlashObjects_TLB.cpp
: : : :
: : : : 를 만들고, 패키지를 만들어서 위 4가지 파일을 추가하여 install 시키면
: : : :
: : : : [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetDispID(wchar_t *, unsigned long, long *)' referenced from D:\DOC\RAD STUDIO\PROJECTS\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ
: : : : [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::RemoteInvokeEx(long, unsigned long, unsigned long, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, Shockwaveflashobjects_tlb::IServiceProvider *, unsigned int, unsigned int *, tagVARIANT *)' referenced from D:\DOC\RAD STUDIO\PROJECTS\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ
: : : : [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::DeleteMemberByName(wchar_t *, unsigned long)' referenced from D:\DOC\RAD STUDIO\PROJECTS\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ
: : : : [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::DeleteMemberByDispID(long)' referenced from D:\DOC\RAD STUDIO\PROJECTS\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ
: : : : [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetMemberProperties(long, unsigned long, unsigned long *)' referenced from D:\DOC\RAD STUDIO\PROJECTS\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ
: : : : [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetMemberName(long, wchar_t * *)' referenced from D:\DOC\RAD STUDIO\PROJECTS\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ
: : : : [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetNextDispID(unsigned long, long, long *)' referenced from D:\DOC\RAD STUDIO\PROJECTS\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ
: : : : [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetNameSpaceParent(IUnknown * *)' referenced from D:\DOC\RAD STUDIO\PROJECTS\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ
: : : :
: : : : 와 같은 에러가 발생이 됩니다.
: : : :
: : : : ILINK32 Error 로 보아서는 ShockWave Flash 관련 파일이 제대로 링크가 안되어서 발생되는 문제로 보이는데요.
: : : :
: : : : 볼랜드포럼에서 Flash 로 검색을 해보니, 빌더 6까지는 문제없이 임포트가 되나,
: : : : BDS2006, C++Builder 2007, C++Builder 2009 에서는 위와 같은 문제가 발생되는 것으로 보입니다.
: : : :
: : : : 델파이에서 문제없이 임포트되는 ShockWave Flash Ocx가 왜 빌더에서 문제가 되는지 여러가지로 살펴보고 있으나
: : : : 아직까지 해결하지 못하고 있습니다.
: : : :
: : : : 해결하신 분이 계시면 도움을 주시면 좋겠습니다.
: : : :
: : : :
: : : : 망치 님이 쓰신 글 :
: : : : :
http://www.delphiflash.com
: : : : : 에 가면 무료로 컴포넌트를 다운받을수 있습니다.
: : : : : 현재 ocx로 되어 있는거 설명하는거보다 이거 쓰는게 더 나을거 같아서요...
: : : : : stream으로 load할수도 있고 기능이 약간 더 좋답니다. ㅎㅎ
: : : : :
: : : : : 플래시 님이 쓰신 글 :
: : : : : : 안녕하세요~~
: : : : : : builderC++2007 에서 Shockwave Flash 등록하려니 컴파일에서 링크 에러가 마구마구 떠서 혹 등록 방법을 알수
: : : : : : 있을까 해서 문의 드립니다