Ich habe ein neues Update mit einigen neuen Elementen erstellt.
Die Entwicklung von Paketen ist nun etwas vereinfacht. Einige weitere Daten werden jetzt aus der Datei manifest.json extrahiert. Die folgenden Element-Funktionen werden daher nicht mehr benötigt:
x_RegisterElementClass("...")
Element_getElementType_...()
Element_getPackage_...()
Ich habe Möglichkeiten hinzugefügt, um die Kompatibilität zu wahren, wenn die Implementierung von Elementen geändert wird.
Erstens, wenn ein Element neue Parameter erhält, weist AHF ihnen die Standardwerte zu, wenn sie im Savefile des Flows nicht vorhanden sind.
Zweitens ist es möglich, eigene Routinen zu implementieren, die aufgerufen werden, während ein Flow geladen wird. So können z.B. Parameter geändert werden, wenn der Flow mit einer alten Paketversion gespeichert wurde. Hier ist ein Beispiel, das einem Parameter einen Wert zuweist, wenn er leer ist:
Code: Select all
LoadFlowCheckCompatibilityElement_Package_Default(p_FlowID, p_ElementID, p_AHFVersion, p_PackageVersion)
{
elementClass := x_getElementClass(p_FlowID, p_ElementID)
if (p_PackageVersion <= 1.1.0)
{
if (elementClass = "Action_New_variable")
{
elementPars := x_getElementPars(p_FlowID, p_ElementID)
if (elementPars.onlyIfNotExist = "")
{
x_setElementPar(p_FlowID, p_ElementID, "onlyIfNotExist", 0)
}
}
}
}