Geschäftsanwendungen entwickeln sich ständig weiter, und oft ist auch nach der Bereitstellung neue Logik erforderlich. In manchen Fällen speichern Anwendungen Geschäftsregeln als Text in der Datenbank oder im Speicher und führen sie zur Laufzeit aus. Um diese zu aktualisieren, müssen Entwickler unter Umständen Code ausführen, der ursprünglich während der Entwicklung nicht vorgesehen war, insbesondere in kompilierten oder bereitgestellten Umgebungen. Mit 4D.Method ermöglicht Ihnen 4D 21 R3, Methoden dynamisch aus Text zu erstellen und auszuführen – sicher und effizient.
Führen Sie eine in einer Textdatei gespeicherte Methode aus
Mit der Klasse „4D.Method “ können Sie eine Methode dynamisch aus Text erstellen. Wenn Sie beispielsweise Speicherattribute mit neuen Werten aktualisieren müssen, während eine Anwendung bereits läuft, können Sie die Logik in einer BusinessRules.4dm-Datei definieren, die den erforderlichen Code enthält:
// BusinessRules.4dm file
var $newBusinessRules:=New shared object
Use ($newBusinessRules)
$newBusinessRules.taxRate:=0.2
$newBusinessRules.discountFormula:="price * quantity * discountRate"
$newBusinessRules.approvalThreshold:=10000
$newBusinessRules.freeShippingThreshold:=150
$newBusinessRules.defaultCurrency:="EUR"
End use
Use (Storage)
Storage.businessRules:=$newBusinessRules
End use
und den in dieser Datei enthaltenen Code dann wie folgt ausführen:
var $myFile:=File("/DATA/BusinessRules.4dm")
var $myMethod:=4D.Method.new($myFile.getText())
// Syntax errors verification
If ($myMethod.checkSyntax().success)
$myMethod.call()
End if
Unabhängig davon, wie Ihr Projekt ausgeführt wird – interpretiert oder kompiliert –, wird die generierte Methode im interpretierten Modus ausgeführt.
Debugging
Da der dynamische Code interpretiert wird, können Sie ihn genau wie eine klassische Projektmethode debuggen, selbst wenn Ihre Anwendung kompiliert ist. Tritt während der Ausführung ein Fehler auf, kann der Debugger über das Fehlerfenster geöffnet werden, und Sie können auch einen Befehl „ TRACE “ in den Quellcode einfügen, um den Debugger bei Bedarf explizit auszulösen:
// BusinessRules.4dm file
var $newBusinessRules:=New shared object
Use ($newBusinessRules)
$newBusinessRules.taxRate:=0.2
$newBusinessRules.discountFormula:="price * quantity * discountRate"
$newBusinessRules.approvalThreshold:=10000
$newBusinessRules.freeShippingThreshold:=150
$newBusinessRules.defaultCurrency:="EUR"
End use
TRACE
Use (Storage)
Storage.businessRules:=$newBusinessRules
End use
Während der Ausführung öffnet sich der Debugger automatisch:

Fazit
4D. „Method “ bietet Ihren Anwendungen echte Laufzeitflexibilität und bewahrt gleichzeitig die Sicherheit und Struktur der 4D-Sprache. Sie können Logik dynamisch generieren, validieren, debuggen und ausführen, selbst in kompilierten oder bereitgestellten Umgebungen. Dies eröffnet Möglichkeiten für intelligentere Wartung, anpassbare Geschäftsregeln und anpassungsfähigere Anwendungen.
Für diesen Beitrag sind derzeit keine Kommentare verfügbar.