Jump to content

UniGUI + COMConnection


byjk

Recommended Posts

Можно ли как ни будь связать сервер uniGUI с com-объектом?

я попробовал создавать  com объект в TUniMainModule:

  TUniMainModule = class(TUniGUIMainModule)
    COMConnection: TDCOMConnection;
  private
     ComServer: OleVariant;
.....
 
procedure TUniMainModule.SomeInit;
begin
    CoInitialize(nil);
    COMConnection.Connected := true;
    ComServer := COMConnection.GetServer;
    ComServer.Somefunction()....
....
end;
    
При таком раскладе я ожидал что переменная ComServer будет содержать ссылку на com-объект и я смогу его вызывать при следующих вызовах, но это не так -  сам ком-объект сразу освобождается после обработки веб-запроса - почему? 
можно ли как либо хранить ссылки на ком-объекты в сессии?
 
 
Link to comment
Share on other sites

Не, так с сом-ом не выйдет.

Для каждого эвента в unigui создается отдельный поток.

Причем одних и тех-же эвентов может одновременно в одной сессии выполняться несколько.

Link to comment
Share on other sites

Сделай отдельный закольцованый thread а в нем уже com объект и общайся через этот thread.

Так com объект не сдохнет.

Только сделай все thread-safe через блокировку или очередь.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...