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 등록하려니 컴파일에서 링크 에러가 마구마구 떠서 혹 등록 방법을 알수
: : : 있을까 해서 문의 드립니다