Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.29;
Скачать: CL | DM;

Вниз

Ошибка 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.034 c
14-1117908515
Udaff
2005-06-04 22:08
2005.06.29
проблема с печатью


14-1117561140
Juice
2005-05-31 21:39
2005.06.29
D8, D2005. Правильный выбор?


3-1116306936
GydruS
2005-05-17 09:15
2005.06.29
Уважаемые мастера, почему падает БД Paradax с сообщением "Corr...


1-1118310306
ris
2005-06-09 13:45
2005.06.29
Можно ли в RXDBGrid убрать


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