Здравствуйте, Tesla, Вы писали:
T> Если вы писали сервер автоматизации на Delphi 5-7, то не могли не заметить этого подводного камня.
Нет, не писал и не мог заметить. Когда-то давно лабал на паскале.
T>procedure TMainForm.FormCreate(Sender: TObject);
T>begin
T> FServer := CoServerWithEvents.Create;
T> FEventSink := TEventSink.Create(Self);
T> InterfaceConnect(FServer, IServerWithEventsEvents, FEventSink, FCookie);
T>end;
T>procedure TMainForm.FormDestroy(Sender: TObject);
T>begin
T> InterfaceDisconnect(FEventSink, IServerWithEventsEvents, FCookie);
T> FEventSink.Free;
FServer.Free
T>end;
Если в FormCreate FServer создается, то в FormDestroy я бы попробовал его освобождать. Или в FormCreate проверять, что он уже создан, и не создавать по новой.