Форум: "Основная";
Текущий архив: 2002.06.06;
Скачать: [xml.tar.bz2];
ВнизНе могу выполнить CreateOleObject в процедуре (class(TService)) Найти похожие ветки
← →
SRGWizard (2002-05-24 11:34) [0]Доброе время суток!
Я столкнулся с проблемкой, и не знаю как это обойти.
Суть проблемы в том, что есть сервис (class(TService)). Работает нормально.
Но при получении некоторого события, нужно поднять ActiveX
и запустить его функцию или процедуру.
Сбой при вызове CreateOleObject...
← →
AFROLOV (2002-05-24 12:03) [1]Код в студию!
← →
SRGWizard (2002-05-24 12:32) [2]{ 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;
← →
Кулюкин Олег (2002-05-24 12:45) [3]А доступ к базе не через АДО?
Может CoInitialize/CoUninitialize сделать?
← →
Shaman_Naydak (2002-05-24 13:19) [4]Надо, надо..
на старт/стоп
← →
SRGWizard (2002-05-24 13:29) [5]Спасибо большое всем!
Работает!
Забыл я про CoInitialize/CoUninitialize.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.06.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c