D2000 VBApi - Práca s okamžitou hodnotou objektu

Rozhranie D2000 VBApi umožňuje získať okamžitú hodnotu objektu a túto hodnotu meniť. Pred vlastným získaním alebo zmenou hodnoty, je potrebné objekt otvoriť (VBApiOpenObject).

Získanie hodnoty objektu sa prevedie volaním procedúry VBApiGetObjectValue.


Deklarácia
 Declare Sub VBApiGetObjectValue Lib "vbapi.dll" Alias "_GetObjectValue@12" (ByRef name As String, ByRef unival As VBApi_TUniVal, ByRef ok As Long)

Parametre
name Meno otvoreného objektu.
unival Štruktúra predstavujúca okamžitú hodnotu objektu.
ok Návratová hodnota - úspešnosť volania.

Návratová hodnota
Hodnota parametra ok.

Návratová hodnota Popis
0 Úspešné volanie. Parameter unival obsahuje okamžitú hodnotu objektu.
1 Zlé meno objektu (aj v prípade, že objekt nebol otvorený).
2 Neprihlásený užívateľ.
3 Neočakávaná interná chyba.
4 Zlé parametre.



Nastavenie hodnoty objektu prebieha podobne volaním procedúry VBApiChangeObjValue. Je možné nastaviť hodnotu len objektu typu užívateľská premenná.


Deklarácia
Declare Sub VBApiChangeObjValue Lib "vbapi.dll" Alias "_ChangeObjValue@12" (ByRef name As String, ByRef unival As VBApi_TUniVal, ByRef ok As Long)

Parametre
name Meno otvoreného objektu.
unival Štruktúra predstavujúca okamžitú hodnotu objektu.
ok Návratová hodnota - úspešnosť volania.

Návratová hodnota
Hodnota parametra ok.

Návratová hodnota Popis
0 Úspešné volanie. Parameter unival obsahuje okamžitú hodnotu objektu.
1 Zlé meno objektu (aj v prípade, že objekt nebol otvorený).
2 Neprihlásený užívateľ.
3 Neočakávaná interná chyba.
4 Zlé parametre.

Popis
Pri nastavení hodnoty je kontrolovaný typ hodnoty (unival), ktorý musí byť zhodný s aktuálnym typom hodnoty príslušného objektu (užívateľskej premennej).
Poznámka
Zmenu aktuálnej hodnoty je vhodné vzhľadom na množstvo položiek v štruktúre VBApi_TUniVal implementovať tak, že najprv si zistite aktuálnu hodnotu (vyplnenie štruktúry), preveďte požadované zmeny a následne zavolajte procedúru VBApiChangeObjValue.

Prístup k položke objektu typu Pole hodnôt


Hodnoty položiek objektu typu Pole hodnôt položiek poľa je možné získať volaním funkcie VBApiGetArrObjectValue. Oproti funkcii VBApiGetObjectValue pribudli parametre pre index žiadanej hodnoty a indikátor prekročenia rozmeru poľa (indexom).


Deklarácia
Declare Sub VBApiGetArrObjectValue Lib "vbapi.dll" Alias "_GetArrObjectValue@20" (ByRef name As String, ByRef unival As VBApi_TUniVal, ByVal index As Long, ByRef bOutOfRange As Long, ByRef ok As Long)

Parametre
name Meno otvoreného objektu.
unival Štruktúra predstavujúca okamžitú hodnotu objektu.
index Index žiadaného prvku poľa.
bOutOfRange Príznak prekročenia medze.
ok Návratová hodnota - úspešnosť volania.

Návratová hodnota
Hodnota parametra ok.

Návratová hodnota Popis
0 Úspešné volanie. Parameter unival obsahuje okamžitú hodnotu objektu.
1 Zlé meno objektu (aj v prípade, že objekt nebol otvorený).
2 Neprihlásený užívateľ.
3 Neočakávaná interná chyba.
4 Zlé parametre.

Poznámka
Ak parameter name označuje objekt, ktorý nie je typu pole a parameter index = 1, volanie funkcie dopadne úspešne a korektne vráti hodnotu objektu. Funkcie VBApiGetArrObjectValue môže teda zastúpiť funkciu VBApiGetObjectValue.

Prístup k položke hodnoty objektu typu Štruktúrovaná premenná


Hodnoty položiek objektu typu Štruktúrovaná premenná je možné získať volaním funkcie VBApiGetRecItemObjectValue. Oproti funkcii VBApiGetArrObjectValue pribudol parameter pre zadanie mena položky štruktúry itemName.


Deklarácia
Declare Sub VBApiGetRecItemObjectValue Lib "vbapi.dll" Alias "_GetRecItemObjectValue@24" (ByRef name As String, ByRef unival As VBApi_TUniVal, ByVal index As Long, ByRef itemName As String, ByRef bOutOfRange As Long, ByRef ok As Long)

Parametre
name Meno otvoreného objektu.
unival Štruktúra predstavujúca okamžitú hodnotu objektu.
index Index žiadaného prvku poľa.
itemName Meno položky v štruktúre.
bOutOfRange Príznak prekročenia medze.
ok Návratová hodnota - úspešnosť volania.

Návratová hodnota
Hodnota parametra ok.

Návratová hodnota Popis
0 Úspešné volanie. Parameter unival obsahuje okamžitú hodnotu objektu.
1 Zlé meno objektu (aj v prípade, že objekt nebol otvorený).
2 Neprihlásený užívateľ.
3 Neočakávaná interná chyba.
4 Zlé parametre.

Poznámka
Ak parameter name označuje objekt, ktorý nie je typu pole a parameter index = 1, volanie funkcie dopadne úspešne a korektne vráti hodnotu objektu. Funkcie VBApiGetArrObjectValue môže teda zastúpiť funkciu VBApiGetObjectValue.

Súvisiace stránky:

Napíšte komentár