![]() |
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:
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
procedure TOPCAdviseSink.OnDataChange(const formatetc: TFormatEtc; const stgmed: TStgMedium);
var PG: POPCGROUPHEADER; PI1: POPCITEMHEADER1ARRAY; PI2: POPCITEMHEADER2ARRAY; ... begin . . ClientHandle := PI1[I].hClient; . . end; 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 16:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz