Jump to content
uniGUI Discussion Forums
Sign in to follow this  
byjk

UniGUI + COMConnection

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-объект и я смогу его вызывать при следующих вызовах, но это не так -  сам ком-объект сразу освобождается после обработки веб-запроса - почему? 
можно ли как либо хранить ссылки на ком-объекты в сессии?
 
 

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

Судя по всему в этом собака зарыта...

Спасибо

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×