VariableBulkChange Verwendung der Parameter

VariableBulkChange Verwendung der Parameter

Hallo;
ich nutze das VariableBulkChange() Event in C++ und es stellt sich mir die Frage, ob der u.a Code richtig sein kann oder nicht.
Genau genommen frage ich mich, ob der Zugriff auf IVariablePtr->GetValue(), IVariablePtr->GetStatusValue(), IVariablePtr->GetStatusExtValue() und IVariablePtr->GetLastUpdateTime() die selben Werte zurückliefern wie ein Zugriff auf die ebenfalls dem Event übergebenen entsprechenden Feldelemente (Values, LoStates, HighStates, Times).
Wird also das Variablen-Objekt vor Aufruf des Events schon aktualisiert oder nicht?
Wenn ja, warum werden dann diese (redundanten) Informationen zusätzlich an das Event übergeben?
void CZenonInterface::OnBulkVariableChanged( COleVariant& Variables, const COleVariant& /*PvIDs*/, const COleVariant& /*Values*/, const COleVariant& /*LoStates*/, const COleVariant& /*HiStates*/, const COleVariant& /*Times*/ ) {
if (Variables.vt!=VT_ERROR) {
COleSafeArray saVariables;
saVariables.Attach(Variables);
// Grenzwerte abholen
long lower=0, upper=0;
saVariables.GetLBound(1, &lower);
saVariables.GetUBound(1, &upper);
if (saVariables.GetElemSize()>0) {
zenOn::IVariablePtr Var;
for (long i=lower; i<=upper; i++) {
saVariables.GetElement(&i, &Var);

std::string TagName([B]);
// Wandeln der Datumsangabe
COleDateTime Date([B]);
[B]

...
}
}
saVariables.Detach();
} else {
FILE_LOG(logERROR) << "Unable to get changed values: " << GetLastErrorMessage(Variables.scode);
}
}

Darf eventuell der Zugriff auf das Variablenobjekt innerhalb des Events nicht erfolgen (Multithreading) ?
Danke im Voraus

This is a migrated post! Originally posted on 12.06.2012 by user andyyyy. Please be aware that information can be outdated.

    Disclaimer

    This document governs the use of our Community Forum. By registering and using the platform, you accept these conditions.

    The COPA-DATA Community Forum serves to encourage the exchange of information and experience about the zenon software between forum users respectively zenon users.

    Please mind that any published information on the Community Forum is the subjective opinion and view based on the experience and the level of knowledge of the author. COPA-DATA does not overtake any responsibility for the content and the accuracy of the shared information.

    Users of the Community Forum are encouraged to share only well-founded experiences and to point out any risks associated with the implementation of proposed solutions to problems. COPA-DATA at its absolute discretion, reserves the right to moderate the forum. In this connection COPA-DATA may remove any information containing false facts, potentially dangerous solutions, bad language or content that may insult, degrade or discriminate others. COPA-DATA may block a non-complying user from forum access if the user violated this provision.

    COPA-DATA reserves the right to change this document from time to time at own discretion.


    Ing. Punzenberger COPA-DATA GmbH
    Karolingerstraße 7b · 5020 Salzburg · Austria
    www.copadata.com