( Name : String;
Value : xxx;
DBType : Integer;
Ident : Longint)
Nastaví dynamickou globální proměnnou, jejíž jméno přichází v parametru Name na hodnotu Value. Jestliže proměnná již existuje, bude přepsána novou hodnotou.
Parametry DBType a Ident definují závislost existence proměnné na změně věty Ident v tabulce DBType. Jestliže tedy definujete:
SetGValDepend("a1", Str[strJmeno], dbtStr, 41);
tak jestliže se v síti nebo v aktuálním programu změní nebo bude smazána věta střediska s identem 41, přestane existovat i globální proměnná 'a1'. Stejně tak přestane existovat po použití makro procedury SendDBChangeInfo v jiném nebo v aktuálním programu Pam5:
SendDBChangeInfo(dbtStr, 41); nebo SendDBChangeInfo(dbtStr, 0);
Počet globálních proměnných navázaných na jednu větu databáze není omezen.
Podívejte se na: Globální proměnné
Příklad:
repeat
Delay(500);
if(_ExistGVal("a1", true) = false)then
_FindRecId(dbtStr, 41);
SetGValDepend("a1", Str[strJmeno], dbtStr, 41);
else
PrintUp(_GetGVal("#$_a1"));
endif
until false;
Závislost lze použít i mimo tabulky ke globálnímu řízení vlastních proměnných. V tom případě použijte jako číslo databáze číslo 132 a libovolný ident:
{ Globální mazání proměnných navázaných na číslo databáze 132 a ident 1 }
SendDBChangeInfo(132, 1)
...
repeat
Delay(500);
if(_ExistGVal("x1", true) = false)then
SetGValDepend("x1", _Random(100), 132, 1);
else
PrintUp("x1=",_GetGVal("#$_x1"));
endif
until false;