SetGValDepend

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