Der FoxPro-Kompatible Skriptinterpreter
🔎
Newsletter
Der FoxPro-Kompatible Skriptinterpreter

newobject

newobject(ClassName AS String, [ModuleName AS String, AppName AS String, ...ParameterN AS Any]) AS Object


Instanziert ein Objekt.

Parameter ClassName

Der Klassenname des Objektes das instanziert werden soll.

Parameter ModuleName

Das Modul in dem sich die Klasse befindet.

Parameter AppName

Nicht implementiert

Parameter ParmeterN

Eine Liste an weiteren Parametern die an die Init-Funktion (Konstruktor) des neuen Objektes übergeben werden.

Rückgabewert

Das neu erzeugte Objekt.

Instanzieren eines benutzerdefinierten Objektes

Das folgende Beispiel instanziert ein Objekt der Klasse someClass. Die Klasse ist im gleichen Modul definiert.

  1
  2
  3
  4
  5
  6
  7
LOCAL someObject
someObject = newobject("someClass")
? someObject.someProperty

DEFINE CLASS someClass as Custom
  someProperty = .F.
ENDDEFINE

.F.

Instanzieren eines benutzerdefinierten Objektes mit Parametern

Das folgende Beispiel instanziert ein Objekt der Klasse someClass. Die Klasse ist im gleichen Modul definiert. Außerdem wird ein Parameter a an den Konstruktor übergeben und vom Konstruktor der Eigenschaft someProperty zugewiesen.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
LOCAL someObject
someObject = newobject("someClass""""""Hello")
? someObject.someProperty

DEFINE CLASS someClass AS Custom
 FUNCTION init(a)
   THIS.someProperty= a
 ENDFUNC
 someProperty = .F.
ENDDEFINE

Hello

Instanzieren von Objekten in anderen Modulen

Mit der NewObject-Funktion können, anders als mit der verwandten Createobject-Funktion, auch Klassen aus anderen Modulen instanziert werden. Das folgende Beispiel nimmt an, dass sich die Klassendefinition someClass in dem Modul C:\Temp\someModule.prg befindet.

  1
  2
  3
LOCAL someObject
someObject = newobject("someClass""C:\Temp\someModule.prg")
? someObject

.F.