![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не могу выполнить 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]Код в студию!