:Revision=1
:html
<<
128.121
IPAlias-Objekt|IPAlias
$NoSort
--
Das IP-Objekt IPAlias erlaubt das Verndern der Interpreter Library-Aliasse.
Eine nderung wirkt sich jedoch erst beim nchsten Einbinden einer Library aus.

Ein Libray-Alias veranlasst den Interpreter, nicht die in der USES-Klauses angegebene Library zu laden, sondern die fr diese angegebene &quot;Vertretung&quot;.

Beispiel:
In der <!RW>Uses-klausel wird eine Library 'Lib_DMM' zum Ansprechen eines DigitalMultiMeters angegeben:
<!CODE>
Uses
  'Lib_DMM';
<!TXT>

Die gleichen Interpreterschritte sollen jetzt an verschiedenen Pltzen benutzt werden, wobei die Pltze teilweise mit IEC-Multimetern und teilweise mit RS232-Multimetern ausgestattet sind. Wieder andere Pltze sollen nur die eingebauten AD-Wandler benutzen.

Fr jeden Einsatzfall wird eine Library geschrieben:
<!STBL>
<!>Lib_DMM<!>fr die internen AD-Wandler<!>
<!>Lib_IEC_DMM <!>fr die IEC-Gerte<!>
<!>Lib_RS232_DMM<!>fr die RS232-Gerte<!>
<!ETBL>

Alle Libraries mssen in den Prozeduren und Funktionen bereinstimmen, die von auen benutzt werden (gleiche Prozedur/Funktions-Namen und gleiche Art und Anzahl der Parameter bzw. Rckgabewerte). Die Prozeduren/Funktionen selber, sowie intern genutzte Methoden knnen selbstverstndlich an den Einsatzfall angepasst werden.

Normalerweise wrde beim Auftreten der oben genannten <!RW>USES-Klause immer die Lib_DMM geladen, so wie angegeben.

Wird aber in den Grundeinstellungen ein Alias der Form
<!SYN>
Lib_DMM = Lib_IEC_DMM
<!TXT>
eingetragen, so wird - bei unvernderter <!RW>USES-Klausel - die Library Lib_IEC_DMM statt der angegebenen Lib_DMM geladen.

Der Interpreter schaut also bei jeder Library nach, ob fr den angegebenen Namen eine Ersetzung definiert ist.

Der oben genannte Alias kann auch durch einen Interpreterschritt mit folgenden Befehl erzeugt werden:
<!CODE>
IPAlias.Set ('Lib_DMM', 'Lib_IEC_DMM');
<!TXT>
>>

<<
128.121.1
Funktionen des IPAlias-Objekts|Funktionen
--
>>

<<
128.121.1.1
IPAlias.Get|Get
!128.121.2.1
---
<!DEF>
function <!TW>IPAlias.Get (sGiven : string) : string;
<!TXT>
Gibt den Library-Alias fr die Library <!PW>sGiven zurck.
>>

<<
128.121.2
Prozeduren des IPAlias-Objekts|Prozeduren
!128.121.2.1
--
>>

<<
128.121.2.1
IPAlias.Set|Set
!128.121.1.1
!128.121.2.2
---
<!DEF>
procedure <!TW>IPAlias.Set (sGiven, sUsed : string);
<!TXT>
Legt einen Library-Alias fr die Library <!PW>sGiven an.

Wenn die in <!PW>sGiven genannte Library in einem nachfolgenden IP-Step benutzt wird, wird stattdessen die in <!PW>sUsed genannte Library benutzt. Ein evtl. bestehender Alias auf <!PW>sGiven wird gendert.

Ist <!PW>sUsed leer, so wird ein evtl. bestehender Alias auf <!PW>sGiven aufgehoben.

Ist <!PW>sGiven leer, so hat der Befehl keine Auswirkung.

Die nderung erfolgt nur intern, nach dem nchsten Reset sind wieder die in den Grundeinstellungen angefhrten Aliasse aktiv.
>>

<<
128.121.2.2
IPAlias.Store|Store
--
<!DEF>
procedure <!TW>IPAlias.Store;
<!TXT>
Schreibt die Liste der Library-Aliasse in die System.Ini, so da sie beim nchsten Reset oder Systemstart automatsich geladen werden.
>>
<<
128.121.2.3
IPAlias.Clear|Clear
!128.121.2.2
--
<!DEF>
procedure <!TW>IPAlias.Clear;
<!TXT>
Lscht alle Library-Aliasse.

Die nderung erfolgt nur intern, nach dem nchsten Reset sind wieder die in den Grundeinstellungen angefhrten Aliasse aktiv.
>>
