CallPersist()
CallPersist() – CodeBlock-Programm persistent aufrufen
Die Funktion dient dem Aufruf eines CodeBlock-Programms, dass als eigene Instanz persistent geladen bleibt und sich nach Ende des Programms selber freigibt. CallPersist() unterscheidet sich von einem "normalen" Call() dadurch, dass im Programm mit LoadForm() oder CreateObject( ..., Persist = True) erstellte Objekte und vor allem Events am Ende des Programmes nicht automatisch freigegeben (sprich: gelöscht) werden, sondern dass das Programm persistent im Speicher bleibt. CallPersist() kann z.B. verwendet werden, um ein eigenes MDI-Child-Fenster persistent zu erstellen. Sobald alle zum Programm gehörigen persistenten Objekte freigegeben wurden, gibt sich das Programm selber frei (spich: Löscht sich selber aus dem Speicher). Wird das Programm explizit freigegeben (z.B. durch Drücken des "Programmausführung abbrechen"-Buttons in der Programmierung) werden alle persistenten Objekte freigegeben.
Parameter | Beschreibung |
---|---|
aProg:C | Name des Programmes. Der Programmname muss den kompletten Pfad enthalten. |
aParam1:U | Zu übergebende Parameter; default = null() |
Rückgabewert
Undefined - Rückgabewert des aufgerufenen Programms
Beispiel
// < Menüpunkt in einem Indiviudal - Haupt-Menü >
| oForm |
if Empty(oForm) then
oForm := CallPersist('IndiMask\MDITest', GetOwner(Self)),
else
BringToFront(oForm),
endif,
oForm