24.03.2011, 12:00
|
|
Let Me Show You
|
|
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
|
|
прикрутить события можно так попробовать:
Код:
uses
InterfacedObjectDispatch,
S7PROSIMLib_TLB,
ComObj,
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure InvokeEvent(DispID: Integer; const IID: TGUID; LocaleID: Integer;
Flags: Word; var Params; VarResult, ExcepInfo, ArgErr: Pointer);
public
{ Public declarations }
end;
procedure TForm1.Button1Click(Sender: TObject);
var
S7ProSim: IS7ProSim;
FEventsConnection: Integer;
FEventDispatch: TInterfacedObjectDispatch;
begin
FEventDispatch:=TInterfacedObjectDispatch.Create;
FEventDispatch.OnInvokeEvent:=InvokeEvent;
S7ProSim:=CreateComObject(CLASS_S7ProSim) as IS7ProSim;
InterfaceConnect(S7ProSim, IID_IS7ProSimEvents, FEventDispatch, FEventsConnection);
S7ProSim.Connect;
S7ProSim.SetScanMode(ContinuousScan);
S7ProSim.SetState('RUN');
// для отключения обработчика
// InterfaceDisconnect(S7ProSim, IID_IS7ProSimEvents, FEventsConnection);
end;
procedure TForm1.InvokeEvent(DispID: Integer; const IID: TGUID;
LocaleID: Integer; Flags: Word; var Params; VarResult, ExcepInfo,
ArgErr: Pointer);
begin
// события
case DispID of
1: begin
// OnScanFinished
end;
2: begin
// OnConnectionError
end;
3: begin
// OnPLCSimStateChanged
end;
4: begin
// OnPauseStateChanged
end;
5: begin
// OnScanModeChanged
end;
end;
end;
http://data.cod.ru/94750
а чего там с Connect я вообще понятия не имею что такое S7ProSim
__________________
Пишу программы за еду.
__________________
|