( 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;