| 4D v15.4RESOLVE POINTER | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v15.4
 RESOLVE POINTER 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| RESOLVE POINTER ( Zeiger ; Name ; TabNum ; FeldNum ) | ||||||||
| Parameter | Typ | Beschreibung | ||||||
| Zeiger | Zeiger |   | Zeiger für den das referenzierte Objekt gefunden werden soll | |||||
| Name | String |   | Name der referenzierten Variablen oder leerer String | |||||
| TabNum | Lange Ganzzahl |   | Ziffer der referenzierten Tabelle bzw. Arrayelemente oder 0 oder -1 | |||||
| FeldNum | Lange Ganzzahl |   | Ziffer des referenzierten Feldes oder 0 | |||||
Der Befehl RESOLVE POINTER findet die Information des referenzierten Objekts über Zeiger und gibt ihn in den Parametern VarName, TabNum und FeldNum zurück.
RESOLVE POINTER gibt je nach Art des referenzierten Objekts folgende Werte zurück:
| Referenziertes Objekt | Parameter | ||
| VarName | TabNum | FeldNum | |
| None (Zeiger NIL) | "" (leerer String) | 0 | 0 | 
| Variable | Name der Variablen | -1 | -1 | 
| Array | Name des Array | -1 | -1 | 
| Array Element | Name des Array | Elementnummer | -1 | 
| 2D Array Element | Name des 2D Array | Element Zeilennummer | Element Spaltennummer | 
| Tabelle | "" (leerer String) | Tabellennummer | 0 | 
| Feld | "" (leerer String) | Tabellennummer | Feldnummer | 
Hinweise:
Sie erstellen in einem Formular eine Gruppe von 100 eingebbaren Variablen, bezeichnet mit v1, v2... v100. Dazu führen Sie folgendes aus:
a. Erstellen Sie eine eingebbare Variable mit der Bezeichnung v.
b. Legen Sie die Eigenschaften des Objekts fest.
c. Weisen Sie diesem Objekt folgende Methode zu:
 DoSomething(Self) ` DoSomething ist eine Projektmethode in Ihrer Datenbankd. An dieser Stelle können Sie nun entweder die Variable so oft wie benötigt duplizieren oder das Symbol für Matrix im Formulareditor verwenden.
e. Müssen Sie den Index der Variablen wissen, für den die Methode aufgerufen wurde, schreiben Sie in der Methode DoSomething:
Bauen Sie Ihr Formular auf diese Weise auf, schreiben Sie die Methoden für die 100 Variablen nur einmal; Sie müssen nicht schreiben DoSomething (1), DoSomething (2)...,DoSomething (100).
Zur Fehlerbehebung müssen Sie prüfen, ob der zweite Parameter ($2) einer Methode ein Zeiger auf eine Tabelle ist. Zu Beginn dieser Methode schreiben Sie:
Siehe Beispiel zum Befehl DRAG AND DROP PROPERTIES.
Beispiel für einen Zeiger auf ein 2D Array:
 ARRAY TEXT(atCities;100;50)
 C_POINTER($city)
 atCities{1}{2}:="Rom"
 atCities{1}{5}:="Paris"
 atCities{2}{6}:="New York"
  // ...andere Werte
 $city:=->atCities{1}{5}
 RESOLVE POINTER($city;$var;$rowNum;$colNum)
  //$var="atCities"
  //$rowNum="1"
  //$colNum="5"
									DRAG AND DROP PROPERTIES
									
									Field
									
									Get pointer
									
									Is a variable
									
									Nil
									
									Table
									
 Fehler melden
Fehler melden