Подскажите кто может, не знаю что делать.
Ситуация такая, под COM+ на Delphi 7 написан сервер и исправно работал уже больше года, под него написана куча клиентов но при переходе на Win2003 стал выкидывать ошибки.
Особенность этого COM+ сервера в том, что он использует 1С 7.7 как сервер автоматизации.
И именно та часть кода, где есть его вызовы, перестала работать…
Что странно под Win2000, WinXP, все прекрасно работает.
Может, кто пояснит, в чем особенность именно этой ОС и как можно под ней такие вещи запускать.
Вот тестовый пример, в котором проявляется эта странность:
unit Unit1;
{$WARN SYMBOL_PLATFORM OFF}
interface
uses
SysUtils,ActiveX, Mtsobj, Mtx, ComObj, Project1_TLB, StdVcl, Variants;
type
TTest = class(TMtsAutoObject, ITest)
protected
v: variant;
procedure Test; safecall;
end;
implementation
uses ComServ;
procedure TTest.Test;
begin
v := CreateOleObject('V77S.Application');
sleep(20000);
end;
initialization
TAutoObjectFactory.Create(ComServer, TTest, Class_Test,
ciMultiInstance, tmApartment);
end.
Если все работает, то в диспетчере задач должен появится 1С-овский процесс и исчезнуть через 20 секунд.