Вниз
Скачать: CL | DM;

Проблема нотификационных сообщений   Найти похожие ветки 

← →
alexprozorov ©   (2004-03-23 13:03) [0]

здравствуйте всем!
Проблема такая - создан контроллер автоматизации и клиент к нему.
Когда они выполняются на одном компьютере нотификационные сообщения с сервера клиенту доходят, а когда на разных то нет.
Где можно порыть?


← →
Digitman ©   (2004-03-23 13:27) [1]

что используется для удаленного доступа контроллера (клиента)автоматизации к серверу автоматизации ? DCOM ?


← →
alexprozorov ©   (2004-03-23 13:32) [2]

DCOM


← →
Digitman ©   (2004-03-23 13:42) [3]

настройки сервера автом-ции в DCOM-конфигураторе какие-то делал ?


← →
alexprozorov ©   (2004-03-23 13:49) [4]

Делал!
разрешение на запуск и доступ к серверу есть!


← →
Digitman ©   (2004-03-23 13:53) [5]

что реально происходит в коде сервера, пытающегося вызвать колбэк ? что показывает трассировка ?


← →
alexprozorov ©   (2004-03-23 14:10) [6]

Трассировка показывает, что удаленный клиент не реализует нотификационный интерфейс, а локальный формирует.
Поэтому после проверки этого локальному клиенту посылается сообщение а удаленному нет!
Честно говоря я в этом только разбирают, не до конца понимаю все это!


← →
alexprozorov ©   (2004-03-23 14:10) [7]

Это может зависеть от потоковой модели сервера?


← →
Digitman ©   (2004-03-23 14:42) [8]


> Это может зависеть от потоковой модели сервера?


такой зависимости по идее быть не должно

покажи код контроллера (клиента)


← →
alexprozorov ©   (2004-03-23 14:54) [9]

Вот еще вопрос - права какие-либо на доступ от сервера к клиенту нужны?

Если вкраце то вот так:

unit Main;

interface

uses
 Windows, SysUtils, Forms, Dialogs, Menus, ComObj,
 inifiles, ExtCtrls, StdCtrls, Controls,
 ComCtrls, ToolWin, Classes, Variants, ActnList,
 Grids, Graphics, EditForm, TimeCode, Efir_TLB, OleServer;

type
 TForm1 = class(TForm)
   ....
   EfirOTV1: TEfirOTV;
   ....
   procedure FormCreate(Sender: TObject);
   procedure EfirOTV1ChangeLogoEvent(Sender: TObject);
 private
   IMyServer: IEfirOTV;
   ....
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

var INI: TIniFile;
   FileName: String;
   RemoteMachineName: String;
{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  ....
  EfirOTV1.RemoteMachineName:=RemoteMachineName;
  EfirOTV1.Connect;
  IMyServer:=EfirOTV1.DefaultInterface as IEfirOTV;
  ....
end;

procedure TForm1.EfirOTV1ChangeLogoEvent(Sender: TObject);
begin
//Реакция на событие  
....
end;

end.


← →
Digitman ©   (2004-03-23 15:10) [10]

на удаленной машине, где располагается клиент, библ-ка типов зарегистрирована ?


← →
alexprozorov ©   (2004-03-23 15:16) [11]

А как это делается?


← →
Digitman ©   (2004-03-23 15:20) [12]

запусти утилиту regtlib.exe


← →
alexprozorov ©   (2004-03-23 15:29) [13]

Не фига не изменилось


← →
Digitman ©   (2004-03-23 15:38) [14]

ок.

трасиировка на кл.стороне процедуры

procedure TAutoObject.EventConnect(..)

что показывает ?


← →
alexprozorov ©   (2004-03-23 15:55) [15]

EventsConnect не могу страссировать, ..TLB.pas  не трассируется


← →
Digitman ©   (2004-03-23 16:01) [16]

это почему же ?


← →
alexprozorov ©   (2004-03-23 16:43) [17]

Наврал, трассируется.
Там такие строки:

punk := GetServer;
ConnectEvents(punk);
Fintf:= punk as IEfirOTV;

на 1 punk присваивается значение, а на второй он становится равен nil

или я не там смотрю?


← →
alexprozorov ©   (2004-03-23 17:30) [18]

Все получилось.
Оказывается компьютеры должны быть в одном домене или рабочей группе. Может быть мое заключение и не верно, но работает!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.49 MB
Время: 0.021 c
1-1083500489
AndrewVolkov
2004-05-02 16:21
2004.05.16
Какой-то странный глюк при работе с тхт файлом


6-1080241768
3APA3A
2004-03-25 22:09
2004.05.16
На отправляющий сокет приходит инфа, хотя приходить не должна...


3-1082103212
RavenD
2004-04-16 12:13
2004.05.16
Как поменять кодировку?


8-1077826720
Nekto
2004-02-26 23:18
2004.05.16
Bmp-иконки


3-1082102461
Evgenija
2004-04-16 12:01
2004.05.16
добавление записи в базу




   Наверх