- Vytvoril D2000 Dev Team na okt 12, 2017
Funkcia %SetExtFuncDllName
Funkcia
Funkcia vymení dll súbor, ktorý bude volaný pri vykonávaní externých funkcií.
Deklarácia
%SetExtFuncDllName( TEXT in configDllName, TEXT in newDllName, BOOL in global )
Parametre
configDllName | Meno dll súboru, ktorý je použitý v konfigurácii objektu typu Externá funkcia
(záložka Parametre - parameter Dll súbor). Ak je hodnota parametra "" (t.j. prázdny reťazec), zrušia sa všetky zmeny spôsobené predchádzajúcimi volaniami tejto funkcie v rozsahu platnosti. V tomto prípade sa hodnota parametra newDllName neberie do úvahy. |
newDllName | Nové meno dll súboru pre externé funkcie. Ak je hodnota parametra "" (t.j. prázdny reťazec), zrušia sa všetky zmeny spôsobené predchádzajúcimi volaniami tejto funkcie v rozsahu platnosti. |
global | Platnosť výmeny dll súboru. Možné hodnoty:
|
Popis
Objekt typu Externá funkcia predstavuje v systéme D2000 väzbu na algoritmus implementovaný
v dll súbore (knižnica). ESL a matematický aparát má zadefinovaný spôsob, ako tieto funkcie volať (vykonávať). Každá externá funkcia má v
rámci svojej konfigurácie definovaný parameter DLL súbor identifikujúci dll súbor, v rámci ktorého je funkcia implementovaná.
DLL súbor zvyčajne implementuje viacej algoritmov, a preto je v systéme D2000 vytvorená množina externých funkcií, ktoré zdieľajú jeden dll súbor.
V určitých prípadoch (napr. odskúšanie novej verzie dll) je potrebné, aby ESL skript v rámci vykonávania externých funkcií (bez potreby zásahu do konfigurácie objektov typu Externá funkcia) používal dočasne iný dll súbor ako je definovaný v konfigurácii. Funkcia %SetExtFuncDllName umožňuje jedným volaním zmeniť meno dll súboru pre všetky externé funkcie implementované v rámci jedného dll súboru (knižnice).
Funkcia tiež umožňuje zrušiť zmenu konkrétneho dll súboru alebo všetkých dll súborov.
V určitých prípadoch (napr. odskúšanie novej verzie dll) je potrebné, aby ESL skript v rámci vykonávania externých funkcií (bez potreby zásahu do konfigurácie objektov typu Externá funkcia) používal dočasne iný dll súbor ako je definovaný v konfigurácii. Funkcia %SetExtFuncDllName umožňuje jedným volaním zmeniť meno dll súboru pre všetky externé funkcie implementované v rámci jedného dll súboru (knižnice).
Funkcia tiež umožňuje zrušiť zmenu konkrétneho dll súboru alebo všetkých dll súborov.
Príklad 1
Volanie funkcie:
spôsobí, že nasledujúce volania objektov typu Externá funkcia, ktoré majú vo svojej konfigurácií definovaný dll súbor original.dll budú namiesto tohto dll súboru používať dll súbor test.dll. Zmena je platná len v rámci aktuálneho skriptu.
Nasledovné volanie zruší výmenu dll súboru
%SetExtFuncDllName("original.dll", "test.dll", @FALSE)
spôsobí, že nasledujúce volania objektov typu Externá funkcia, ktoré majú vo svojej konfigurácií definovaný dll súbor original.dll budú namiesto tohto dll súboru používať dll súbor test.dll. Zmena je platná len v rámci aktuálneho skriptu.
Nasledovné volanie zruší výmenu dll súboru
%SetExtFuncDllName("original.dll", "", @FALSE)
Príklad 2
Volanie funkcie:
spôsobí, že nasledujúce volania objektov typu Externá funkcia, ktoré majú vo svojej konfigurácií definovaný dll súbor original.dll budú namiesto tohto dll súboru používať dll súbor testGlobal.dll. Zmena je platná v rámci celého procesu (D2000 HI alebo D2000 Event Handler).
Nasledovné volanie zruší výmenu dll súboru
%SetExtFuncDllName("original.dll", "testGlobal.dll", @TRUE)
spôsobí, že nasledujúce volania objektov typu Externá funkcia, ktoré majú vo svojej konfigurácií definovaný dll súbor original.dll budú namiesto tohto dll súboru používať dll súbor testGlobal.dll. Zmena je platná v rámci celého procesu (D2000 HI alebo D2000 Event Handler).
Nasledovné volanie zruší výmenu dll súboru
%SetExtFuncDllName("original.dll", "", @TRUE)
Príklad 3
Volanie funkcie:
zruší všetky presmerovania pre všetky externé funkcie, ktoré boli definované volaním funkcie s parametrom global=@FALSE v rámci aktuálneho skriptu.
A potom volanie funkcie:
%SetExtFuncDllName("", "testGlobal.dll", @FALSE)
zruší všetky presmerovania pre všetky externé funkcie, ktoré boli definované volaním funkcie s parametrom global=@FALSE v rámci aktuálneho skriptu.
A potom volanie funkcie:
%SetExtFuncDllName("", "", @TRUE)
zruší všetky presmerovania pre všetky externé funkcie , ktoré boli definované volaním funkcie s parametrom global=@TRUE v rámci celého procesu (D2000 HI alebo D2000 Event Handler).
Súvisiace stránky:
Pridať komentár