Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не могу выполнить CreateOleObject в процедуре (class(TService)) [D5, Win2k]


SRGWizard ©   (2002-05-24 11:34:00) 

Доброе время суток!
Я столкнулся с проблемкой, и не знаю как это обойти.
Суть проблемы в том, что есть сервис (class(TService)). Работает нормально.
Но при получении некоторого события, нужно поднять ActiveX
и запустить его функцию или процедуру.
Сбой при вызове CreateOleObject...


SRGWizard   (2002-05-24 13:29:00) [1]

Спасибо большое всем!
Работает!
Забыл я про CoInitialize/CoUninitialize.


Shaman_Naydak   (2002-05-24 13:19:00) [2]

Надо, надо..
на старт/стоп


Кулюкин Олег   (2002-05-24 12:45:00) [3]

А доступ к базе не через АДО?
Может CoInitialize/CoUninitialize сделать?


SRGWizard   (2002-05-24 12:32:00) [4]

{ TSrvBooks = class(TService)
ServerSocket1 : TServerSocket;
.........
end;
var
SrvBooks : TSrvBooks;

{....} - запись в лог
}

procedure TSrvBooks.ServerSocket1ClientRead(Sender : TObject; Socket : TCustomWinSocket);
begin
try
with Socket do
SendText(QueryDataBase(ReceiveText, RemoteAddress, RemoteHost));
except on E : Exception do begin {....} Abort; end; end;
end;

function TSrvBooks.QueryDataBase(ItemText, ItemIP, ItemHost : string) : string;
var
Answer, Error : string;
Obj : Variant;
begin
try
Obj := CreateOleObject("SRGWizard.SrvBooks");
try
Answer := Obj.QueryString(ItemText, ItemIP, ItemHost, 0);
if Obj.Error <> "" then Answer := "Error";
Result := Answer;
except Result := "Error"; {....} Abort; end;
except Result := "Error"; {....} end;
end;


AFROLOV   (2002-05-24 12:03:00) [5]

Код в студию!


Наверх

Титульная страница Поиск, карта сайта Написать письмо