Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.9.168] |
|
Сообщ.
#1
,
|
|
|
Уже всё перепробовал, в 5 C++ Builder-е всё работает, в 2010 RAD Studio выдает ошибку... в 2009 тоже пробовал... Не пашет!!!
Инфу из: http://forum.sources.ru/index.php?showtopic=269838&hl=flash читал, не помогло... Очень хочу перейти на РАД Студию, но эта гадская ошибка всё портит... Если кто сталкивался, отпишитесь пожалуйста... Вот полный текст ошибки: Checking project dependencies... Compiling Flash4.cbproj (Debug configuration) [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetDispID(wchar_t *, unsigned long, long *)' referenced from D:\DOCS\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:\DOCS\RAD STUDIO\PROJECTS\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::DeleteMemberByName(wchar_t *, unsigned long)' referenced from D:\DOCS\RAD STUDIO\PROJECTS\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::DeleteMemberByDispID(long)' referenced from D:\DOCS\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:\DOCS\RAD STUDIO\PROJECTS\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetMemberName(long, wchar_t * *)' referenced from D:\DOCS\RAD STUDIO\PROJECTS\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetNextDispID(unsigned long, long, long *)' referenced from D:\DOCS\RAD STUDIO\PROJECTS\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ [ILINK32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetNameSpaceParent(IUnknown * *)' referenced from D:\DOCS\RAD STUDIO\PROJECTS\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ [ILINK32 Error] Error: Unable to perform link Failed Elapsed time: 00:00:25.9 Мож чё в настройках проекта поправить? |
Сообщ.
#2
,
|
|
|
Море ответов... Ясно... Никаких решений по обходу ошибки компиляции компонентов нет...
Уже убил RAD Studio и поставил 6-тую версию Билдера. Всё работает. |
Сообщ.
#3
,
|
|
|
Цитата bpiter @ Никаких решений по обходу ошибки компиляции компонентов нет... Есть. Когда я не смогла установить ActiveX MapX в среду С++ Builder 2007, причем он прекрасно работал в С++ Builder 6, я задала вопрос в тех. поддрежку и получила исчерпывающий рецепт и все получилось. Думаю и вам поможет задать туда вопрос: http://qc.embarcadero.com/wc/qcmain.aspx?da=440 |
Сообщ.
#4
,
|
|
|
Хм... Ладно спасибо, за ответ... Правда я пока не силен в англицком...
В общем из ответа вам техподдержки я понял, что RAD-овский Билдер, неправильно переназывает строки в исходнике, или делает синтаксические ошибки... Похоже перенесу вопрос еще и в ветку с JAVA ... |
Сообщ.
#5
,
|
|
|
Вот тут приведен Workaround: http://qc.embarcadero.com/wc/qcmain.aspx?d=23482
Описываешь все 8 методов, на которых линкер выдает ошибки, как inline и устанавливаешь дальше. Все работает, только что проверил (BDS 2009) |
Сообщ.
#6
,
|
|
|
Спасибо большое! Теперь всё собралось...
Вот только... Я вижу только контейнер флеша, а сам флеш не загружается даже самым простым способом: ASD=ExtractFileDir(ParamStr(0))+"\\fileflash.swf"; VideoFlash->Movie=ASD; VideoFlash->FrameNum=1; VideoFlash->Play(); ... это в 2010 Билдере... Проблема решилась... Сорри, просто нужно было учесть, что теперь компилируется EXE-шник в отдельную папку... |
Сообщ.
#7
,
|
|
|
Кстати, появилась новая проблема...
Как внедрить флеш в ресурсы? Раньше прекрасно работал такой способ: 1) создаю RC-файл, прописываю в него: B_FILE BIG_FILES "fileflash.swf" 2) Потом вписываю в начале объявлений в файл Unit1.CPP: TResourceStream *res_stream = new TResourceStream(0, "B_FILE", "BIG_FILES"); 3) Вписываю в главный файл проекта (или добавляю через Project\Add to Project...): USERC("res.rc"); 4) Вызываю в нужном месте: res_stream->SaveToFile(ASD); delete res_stream; 5) И как описано ранее подвязываю к компоненту на форме... Теперь, почему-то выдает ошибку: [BCC32 Error] Unit1.cpp(13): E2285 Could not find a match for 'TResourceStream::TResourceStream(int,const char *,const char *)' Я чето не прописал? |
Сообщ.
#8
,
|
|
|
Цитата bpiter @ Ты забыл, что теперь все Юникодное в Билдере:Я чето не прописал? TResourceStream *res_stream = new TResourceStream(0, "B_FILE", L"BIG_FILES"); // <--- L заметил? |
Сообщ.
#9
,
|
|
|
Спасибо большое. )) Теперь всё заработало!
|
Сообщ.
#10
,
|
|
|
Хочу вернуться к теме.
Так же самая проблема. 9 ошибок линкера. C++ Builder 10.3 RAD Studio Rio. [ilink32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetDispID(wchar_t *, unsigned long, long *)' referenced from C:\USERS\LEVLO\DOCUMENTS\EMBARCADERO\STUDIO\PROJECTS\WIN32\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 C:\USERS\LEVLO\DOCUMENTS\EMBARCADERO\STUDIO\PROJECTS\WIN32\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ [ilink32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::DeleteMemberByName(wchar_t *, unsigned long)' referenced from C:\USERS\LEVLO\DOCUMENTS\EMBARCADERO\STUDIO\PROJECTS\WIN32\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ [ilink32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::DeleteMemberByDispID(long)' referenced from C:\USERS\LEVLO\DOCUMENTS\EMBARCADERO\STUDIO\PROJECTS\WIN32\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ [ilink32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetMemberProperties(long, unsigned long, unsigned long *)' referenced from C:\USERS\LEVLO\DOCUMENTS\EMBARCADERO\STUDIO\PROJECTS\WIN32\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ [ilink32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetMemberName(long, wchar_t * *)' referenced from C:\USERS\LEVLO\DOCUMENTS\EMBARCADERO\STUDIO\PROJECTS\WIN32\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ [ilink32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetNextDispID(unsigned long, long, long *)' referenced from C:\USERS\LEVLO\DOCUMENTS\EMBARCADERO\STUDIO\PROJECTS\WIN32\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ [ilink32 Error] Error: Unresolved external '__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetNameSpaceParent(IUnknown * *)' referenced from C:\USERS\LEVLO\DOCUMENTS\EMBARCADERO\STUDIO\PROJECTS\WIN32\DEBUG\SHOCKWAVEFLASHOBJECTS_OCX.OBJ Объявление методов как inline не помогает. Ссылки в интернете на workaround от Embarcadero протухли. Я имею в виду это: http://qc.embarcadero.com/wc/qcmain.aspx?d=23482 Может кто-нибудь привести пример что именно делали, как решали? Облазил все и везде. Любая помощь. |