Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi OPC IAdvise Interface / OnDataChange Event (https://www.delphipraxis.net/55416-opc-iadvise-interface-ondatachange-event.html)

andimx 20. Okt 2005 15:11


OPC IAdvise Interface / OnDataChange Event
 
Hallo,
Ich entwickle derzeit einen OPC Client und habe ein Problem beim OnDataChange Event im IAdvise Interface.

Ich brauche das OPCHANDLE (DWORD) eines Items. Bei meinem IAdvise erhalte ich auch dieses durch:

Delphi-Quellcode:
procedure TOPCAdviseSink.OnDataChange(const formatetc: TFormatEtc; const stgmed: TStgMedium);
var
  PG: POPCGROUPHEADER;
  PI1: POPCITEMHEADER1ARRAY;
  PI2: POPCITEMHEADER2ARRAY;
...
begin
.
.
       ClientHandle := PI1[I].hClient;
.
.
end;
Allerdings hat jetzt der Wert ClientHandle immer nur den nächsten Index des Items aus der aktuellen Liste die durch OnDataChange übergeben wird. Das bringt so ja nix, da ja nie eindeutig erkennbar ist welches Item eigentlich dahinter steckt. Im Grunde kein Handle sondern ein Index von 0..n

Jetzt die Frage: Wie bekomme ich das "wahre" Handle des jeweiligen Item's raus??

Kennt sich jemand damit aus? Dürfte eigentlich nicht schwierig sein, vielleicht mach ich auch ein Fehler (Falsches .Create?!).

Gruss

Andreas


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz