Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Вниз

Ошибка EOleSysError   Найти похожие ветки 

 
Серёга   (2005-06-06 22:18) [0]

При запуске своего приложения на другой ОС (ХР) выдаётся сообщение, типа:
"Exception EOleSysError at myprogram.exe at (адрес, типа 120021). Не найден указанный модуль. Причём под 2000 виндой, где я делал, и компилируется и запускается нормально. Этот баг обнаружен уже на 2-ом компе их XP. Может кто поможет? Заранее благодарен.


 
KilkennyCat ©   (2005-06-06 22:23) [1]

I>
> Может кто поможет?


могу удар милосердия сделать.


 
jack128 ©   (2005-06-06 22:46) [2]

А чего тут скажешь.. Шерсти весь код, который выполняется до Application.Run. те виднее, что ты там с com делаешь..


 
Серёга   (2005-06-07 17:34) [3]

{Шерсти весь код, который выполняется до Application.Run. те виднее, что ты там с com делаешь}
Тяжело, когда на своём РС всё работает, и постоянно ходить к кому-то и тестить, в чём дело накладно. Благо повезло, долго ходить не пришлось, и я понял, что проблема в компоненте ShockwaveFlashObjects_TLB. Он предназначен для вставки в проект flash-роликов. Как заявляет автор статьи сайта http://delphid.dax.ru (Delphi и Flash. Совмещение несовместимого!), в дэлфе флэш идёт. У меня - да, но почему то на некоторых других компах - нет... может кто скажет, есть ли выход?


 
VMcL ©   (2005-06-07 17:40) [4]

>>Серёга   (07.06.05 17:34) [3]

> У меня - да, но почему то на некоторых других компах - нет...

Вероятно, потому что на этих "других компах" не установлен Flash Player.


 
Серёга   (2005-06-07 17:50) [5]

Сейчас нашёл то, что мне надо, но к сожалению, под делфу 7 не идёт:
-------------------------------------------------------------
Коммерческие ActiveX компоненты обычно без проблем подключаются к Delphi и позволяют использовать их свойства так же, как и VCL-компонентов. Но начинающий программист будет удивлен, если увидит, что перенесенная на другой компьютер программа не будет работать. Обычно возникает ошибка EOleSysError. Естественно, ведь сервера ActiveX и кода в нем, который отвечает за манипуляцию данными, найти невозможно без регистрации сервера в системе.

Для того, чтобы программа знала, где найти этот код и данные, сервер следует зарегистрировать. В RxLib есть соответствующая функция, но у меня она не сработала. Не знаю, почему. Поэтому предлагаю универсальный способ. В каталоге windows\system есть утилита regsvr32.exe, которая одним параметром принимает имя файла, и регистрирует его. Остальные параметры можете узнать у нее сами.

Пример регистрации, если произошла ошибка EOleSysError. Код из файла .dpr одной из моих программ:

begin

Application.Initialize;

try Application.CreateForm(TSWFViewForm, SWFViewForm);

except on EOleSysError do //Если возникло исключение, регистрируем сервер

begin

ShellExecute(GetDesktopWindow,"open","c:\windows\system\regsvr32.exe","c:\windows\system\swflash.ocx",nil,SW_SHOWNORMAL) ;

Delay(3000); // Wait for registration

try Application.CreateForm(TSWFViewForm, SWFViewForm);

except MessageDlg("ActiveX сервер не найден!",mtError,[mbOK],0);

end;

end

end;

Application.Run;

end.

Взято с http://eef.ispu.ru/sitestud/sav/activex.htm
------------------------------------------------------
У меня ругается на: EOleSysError, ShellExecute, SW_SHOWNORMAL, Delay, MessageDlg, mtError - Undeclared identifier.


 
Серёга   (2005-06-07 17:51) [6]

Нет, плейер установлен. Это проблема с ActiveX.


 
jack128 ©   (2005-06-07 20:33) [7]

Серёга   (07.06.05 17:50) [5]
ShellExecute(GetDesktopWindow,"open","c:\windows\system\regsvr32.exe","c:\windows\system\swflash.ocx",nil,SW_SHOWNORMAL)  ;

Delay(3000); // Wait for registration

Б-р-р.. Никогда не делай так. Для таких вещей есть CreateProcess + WaitForSingleObject



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.047 c
14-1117815737
Kerk
2005-06-03 20:22
2005.06.29
Раскрыта....


1-1118060645
Goga
2005-06-06 16:24
2005.06.29
Доступ к реестру из службы


3-1116316623
Dell3r
2005-05-17 11:57
2005.06.29
Помогите составить запрос


3-1116151960
_e_u_
2005-05-15 14:12
2005.06.29
добавление полей в ADOQuery, что требуется?


14-1117290488
Ломброзо
2005-05-28 18:28
2005.06.29
Как подписаться на буржуйскую группу новостей?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский