Die Systemfunktion 'javaLib.getField()' gibt den Wert eines angegebenen Felds in einem angegebenen Java™-Objekt oder in einer angegebenen Java-Klasse im EGL-Java-Objektbereich zurück.
Weitere Informationen zum EGL-Java-Objektbereich, in dem 'javaLib.getField()' und ähnliche Funktionen ausgeführt werden, finden Sie im Abschnitt Java-Zugriffsfunktionen. EGL verwaltet diese Methode für Java-Zugriff zwecks Kompatibilität mit früheren Versionen. Verwenden Sie für neuen Code die leistungsfähigere ExternalType-Syntax. Weitere Informationen finden Sie im Abschnitt ExternalType-Abschnitt.
javaLib.getField(
Kennung_oder_Klasse javeObjIdOrClass in,
Feld STRING in)
returns (Ergebnis anyJavaPrimitive)
Weitere Informationen zu Längenabweichungen finden Sie im Abschnitt Zuordnungen.
Das folgende Beispiel zeigt die Funktion 'getField()', wobei myID als 'objID' umgesetzt wird:
myVar = javaLib.getField("myID" as "objID:java", "myField");
Ist die Programmeigenschaft 'v60ExceptionCompatibility' nicht oder auf NO gesetzt, führt eine Ausnahmebedingung dazu, dass EGL eine Ausnahmebedingung vom Typ 'JavaObjectException' auslöst. Andere Fehler führen dazu, dass EGL eine Ausnahmebedingung vom Typ 'RuntimeException' auslöst.
Ist die Programmeigenschaft 'v60ExceptionCompatibility' auf YES gesetzt, kann ein Fehler während der Verarbeitung von 'javaLib.getField()' dazu führen, dass 'sysVar.errorCode' auf einen in der nächsten Tabelle aufgeführten Wert gesetzt wird.
| Wert in 'sysVar.errorCode' | Beschreibung |
|---|---|
| 00001000 | Es wurde eine Ausnahmebedingung durch eine aufgerufene Methode oder infolge einer Klasseninitialisierung ausgelöst. |
| 00001001 | Das Objekt weist einen Nullwert auf, oder die angegebene Kennung ist nicht im Objektbereich vorhanden. |
| 00001002 | Eine öffentliche Methode, ein öffentliches Feld oder eine öffentliche Klasse mit dem angegebenen Namen ist nicht vorhanden oder kann nicht geladen werden. |
| 00001004 | Die Methode hat einen Nullwert oder keinen Wert zurückgegeben, oder der Wert eines Feldes war null. |
| 00001005 | Der zurückgegebene Wert entspricht nicht dem Typ der Variablen, der er zugeordnet wurde. |
| 00001007 | Bei dem Versuch, Informationen zu einer Methode oder einem Feld abzurufen, wurde eine Ausnahmebedingung vom Typ 'SecurityException' oder 'IllegalAccessException' ausgelöst. Oder es wurde versucht, den Wert eines als 'final' deklarierten Feldes zu setzen. |
| 00001009 | Anstelle eines Klassennamens muss eine Kennung angegeben werden. Die Methode oder das Feld ist nicht statisch. |