Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.03.2012, 00:42
Nautilus Nautilus вне форума
Новичок
 
Регистрация: 07.02.2012
Сообщения: 53
Репутация: 10
По умолчанию class EOleSysError "Класс не зарегистрирован"

Доброго времени суток! Люди добрые, кто сколько сможет- подскажите пожалуйста- при компиляции выдаёт ошибку:
Project raised exception class EOleSysError "Класс не зарегистрирован"
и выбрасывает на процедуру в подключаемом модуле

Код:
procedure OleError(ErrorCode: HResult);
begin
  raise EOleSysError.Create('', ErrorCode, 0);
end;

В вызываемом модуле (импортировал библиотеку) используются следующие модули: uses Variants, Windows, ActiveX, SysUtils {$IFDEF LINUX}, WinUtils {$ENDIF};
Все модули подключены и прописаны в главном модуле, все, кроме последнего WinUtils {$ENDIF}- его не получается добавить.
Как это можно обойти? Спасибо заранее...

Последний раз редактировалось lmikle, 20.03.2012 в 01:51.
  #2  
Старый 20.03.2012, 00:47
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Подключи ComObj.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Этот пользователь сказал Спасибо angvelem за это полезное сообщение:
Nautilus (21.03.2012)
  #3  
Старый 20.03.2012, 00:49
Nautilus Nautilus вне форума
Новичок
 
Регистрация: 07.02.2012
Сообщения: 53
Репутация: 10
По умолчанию

Подключён...
"uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,UniOpcWriteReq_TLB, StdCtrls,OleServer,StdVCL,ComObj,ActiveX;"
  #4  
Старый 20.03.2012, 00:57
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Код:
implementation

{$R *.dfm}

uses
  ActiveX, ComObj;

procedure OleError(ErrorCode: HResult);
begin
  raise EOleSysError.Create('', ErrorCode, 0);
end;
Всё нормально компилится.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Этот пользователь сказал Спасибо angvelem за это полезное сообщение:
Nautilus (21.03.2012)
  #5  
Старый 20.03.2012, 01:06
Nautilus Nautilus вне форума
Новичок
 
Регистрация: 07.02.2012
Сообщения: 53
Репутация: 10
По умолчанию

Я извиняюсь- неправильно выразился - компилируется тоже нормуль, а исполняться не хочет. Данная процедура находится в 3-м "дочернем модуле" (все подключены), а вот исполняться не хочет.
Небезразличный angvelem, может глянешь у себя- вот код опроса контроллера через OPC... Уж простите за наглость...
Вложения
Тип файла: 7z Ил-2.7z (284.6 Кбайт, 5 просмотров)

Последний раз редактировалось Nautilus, 20.03.2012 в 01:15.
  #6  
Старый 20.03.2012, 01:14
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Хм. Может я и не сильно осведомлен, но комманда "raise" как раз и призвана вызывать ошибку? Или я что-то не понял?
Этот пользователь сказал Спасибо YVitaliy за это полезное сообщение:
Nautilus (21.03.2012)
  #7  
Старый 20.03.2012, 09:07
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

процедура OleError(ErrorCode: HResult) уже есть в модуле ComObj:
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  ComObj;

begin
  OleError(0);
end.
__________________
Пишу программы за еду.
__________________
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
Nautilus (21.03.2012)
  #8  
Старый 21.03.2012, 00:03
Nautilus Nautilus вне форума
Новичок
 
Регистрация: 07.02.2012
Сообщения: 53
Репутация: 10
По умолчанию

Правильно- есть, и у меня она ругается на ... (выделено жирным)
procedure OleError(ErrorCode: HResult);
begin
raise EOleSysError.Create('', ErrorCode, 0);
end;
  #9  
Старый 21.03.2012, 00:37
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Да не ругается оно! Напиши например
Код:
EOleSysError.Create('Класс зарегистрирован', ErrorCode, 0);
- и будет у тебя "класс зарегистрирован"!. Эта строка должна быть в условном операторе для обработки исключения, а у тебя она вызывается просто так.
Этот пользователь сказал Спасибо YVitaliy за это полезное сообщение:
Nautilus (21.03.2012)
  #10  
Старый 21.03.2012, 01:22
Nautilus Nautilus вне форума
Новичок
 
Регистрация: 07.02.2012
Сообщения: 53
Репутация: 10
По умолчанию

YVitaliy, а можешь мой код глянуть- ну не выходит у меня аленький цветочек... пожалуйста...
Вложения
Тип файла: 7z Ил-2.7z (284.8 Кбайт, 0 просмотров)
  #11  
Старый 21.03.2012, 01:47
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Я вот ещё вчера глянул на содержимое архива, увидел сколько нужно просматривать в поисках причины, и желание пропало. Минимизируй код, оставь только необходимое для выяснения причины. Некий тестовый код.

P.S. Какого Х..., в архиве делают файлы: ActiveX.pas, ComObj.pas, OleServer.pas, StdVcl.pas? Им там не место, им вообще делать нечего в каталоге проекта.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Этот пользователь сказал Спасибо angvelem за это полезное сообщение:
Nautilus (21.03.2012)
  #12  
Старый 21.03.2012, 01:56
Nautilus Nautilus вне форума
Новичок
 
Регистрация: 07.02.2012
Сообщения: 53
Репутация: 10
По умолчанию

ок, понял- извиняюсь- закрываю тему...
Всем спасибо...
Закрытая тема


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:59.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter