Создать объект динамически из строки в Peoplecode
Я работаю над проектом Peoplesoft, и я борюсь с Peoplecode. Я хочу создать объект с динамическим именем класса в Peoplecode. Вроде как в Java. Это будет выглядеть примерно так:
&my_object = create My_Application_Package : Class_string_name()
&my_object.commonMethodCall();
где "Class_string_name" будет динамическим. Это возможно? И нужно ли мне обязательно создавать интерфейс для всех заинтересованных классов?
Любая помощь или совет приветствуется
Спасибо
1 ответ
Наконец, это довольно просто.
Я просто использовал функцию CreateObject:
CreateObject (str_class_name, create_par,...)
Где str_class_name либо:
- идентифицирует класс по имени класса
- определяет класс объекта OLE Automation в форме:
app_name.object_name
Описание
Используйте функцию CreateObject, чтобы вернуть экземпляр класса. Эту функцию можно использовать для доступа к классу приложения, встроенному объекту PeopleCode (например, диаграмме) или объекту автоматизации OLE.
Если создаваемый вами класс требует передачи значений, используйте параметры create_par для их предоставления или используйте функцию CreateObjectArray.
Соображения об использовании классов приложений
Вы можете использовать функцию CreateObject для доступа к классу приложения. Возможно, вы захотите сделать это, когда вы программируете на высоком уровне, когда вы можете не знать имя класса, к которому вы хотите получить доступ, до времени выполнения. Вы должны указать полное имя класса. Кроме того, имя класса чувствительно к регистру.
Возвращаемый объект имеет тип класса, который вы указали.