На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
[!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь
  
> Не устанавливается компонент ActiveX Flash , Пишет "[ILINK32 Error] Error: Unable to perform link"
    Уже всё перепробовал, в 5 C++ Builder-е всё работает, в 2010 RAD Studio выдает ошибку... в 2009 тоже пробовал... Не пашет!!!
    Инфу из: http://forum.sources.ru/index.php?showtopic=269838&hl=flash читал, не помогло...
    Очень хочу перейти на РАД Студию, но эта гадская ошибка всё портит... Если кто сталкивался, отпишитесь пожалуйста...

    Вот полный текст ошибки:

    ExpandedWrap disabled
      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


    Мож чё в настройках проекта поправить?
    Сообщение отредактировано: bpiter -
      Море ответов... Ясно... Никаких решений по обходу ошибки компиляции компонентов нет...
      Уже убил RAD Studio и поставил 6-тую версию Билдера. Всё работает.
        Цитата bpiter @
        Никаких решений по обходу ошибки компиляции компонентов нет...


        Есть.
        Когда я не смогла установить ActiveX MapX в среду С++ Builder 2007, причем он прекрасно работал в С++ Builder 6, я задала вопрос в тех. поддрежку и получила исчерпывающий рецепт и все получилось. Думаю и вам поможет задать туда вопрос: http://qc.embarcadero.com/wc/qcmain.aspx?da=440
        Сообщение отредактировано: Kitty -
          Хм... Ладно спасибо, за ответ... Правда я пока не силен в англицком...
          В общем из ответа вам техподдержки я понял, что RAD-овский Билдер, неправильно переназывает строки в исходнике, или делает синтаксические ошибки...
          Похоже перенесу вопрос еще и в ветку с JAVA ... :yes-sad:
            Вот тут приведен Workaround: http://qc.embarcadero.com/wc/qcmain.aspx?d=23482

            Описываешь все 8 методов, на которых линкер выдает ошибки, как inline и устанавливаешь дальше. Все работает, только что проверил (BDS 2009)
              Спасибо большое! Теперь всё собралось...

              Вот только... Я вижу только контейнер флеша, а сам флеш не загружается даже самым простым способом:

              ExpandedWrap disabled
                   ASD=ExtractFileDir(ParamStr(0))+"\\fileflash.swf";
                   VideoFlash->Movie=ASD;
                   VideoFlash->FrameNum=1;
                   VideoFlash->Play();


              ... это в 2010 Билдере...


              Проблема решилась... Сорри, просто нужно было учесть, что теперь компилируется EXE-шник в отдельную папку... :whistle:
              Сообщение отредактировано: bpiter -
                Кстати, появилась новая проблема...

                Как внедрить флеш в ресурсы?

                Раньше прекрасно работал такой способ:

                1) создаю RC-файл, прописываю в него:

                ExpandedWrap disabled
                  B_FILE BIG_FILES "fileflash.swf"


                2) Потом вписываю в начале объявлений в файл Unit1.CPP:

                ExpandedWrap disabled
                  TResourceStream *res_stream = new TResourceStream(0, "B_FILE", "BIG_FILES");


                3) Вписываю в главный файл проекта (или добавляю через Project\Add to Project...):

                ExpandedWrap disabled
                  USERC("res.rc");


                4) Вызываю в нужном месте:

                ExpandedWrap disabled
                  res_stream->SaveToFile(ASD);
                  delete res_stream;


                5) И как описано ранее подвязываю к компоненту на форме...

                Теперь, почему-то выдает ошибку:

                ExpandedWrap disabled
                  [BCC32 Error] Unit1.cpp(13): E2285 Could not find a match for 'TResourceStream::TResourceStream(int,const char *,const char *)'


                Я чето не прописал?
                Сообщение отредактировано: bpiter -
                  Цитата bpiter @
                  Я чето не прописал?
                  Ты забыл, что теперь все Юникодное в Билдере:
                  ExpandedWrap disabled
                    TResourceStream *res_stream = new TResourceStream(0, "B_FILE", L"BIG_FILES"); // <--- L заметил?
                    Спасибо большое. )) Теперь всё заработало!
                      Хочу вернуться к теме.
                      Так же самая проблема. 9 ошибок линкера.
                      C++ Builder 10.3 RAD Studio Rio.

                      ExpandedWrap disabled
                        [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
                      Может кто-нибудь привести пример что именно делали, как решали?
                      Облазил все и везде. Любая помощь.
                      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                      0 пользователей:


                      Рейтинг@Mail.ru
                      [ Script execution time: 0,0324 ]   [ 16 queries used ]   [ Generated: 22.04.24, 19:54 GMT ]