|
Vier D Themen4D Expertise Geo-Themen + Projekte GoogleMap-Integration • GeoDDDD • Database Publishing • Database PhotographyVerschiedenes die4Dwerkstatt
Kooperation M+V Gminder • andereQuerverbindungen Online-Tools • 4D und TechTippsApple Store down?
Sie möchten DDDD.mettre.de unterstützen? Super Idee! |
02 Jun 2006 Alles zusammenhalten …
Beginnt man mit 4D, hat man Methoden im Formular, in den Formularobjekten, in globalen Methoden und noch einer globalen Methode und noch einer und …. Ausgangsbasis
Erster Ausbau
Der Selbstaufruf als Prozess-Starter.
Hier führt es hin
Rekursion
Ganz wichtig: der rekursive Aufruf ist ein fest eingebautes Konzept. "newMessage" z.B. ist eine Dienstleistung für mehrere Abschnitte der Methode. Konzept
Ein weiterer Anlauf das Konzept verständlich zu machen, diesmal graphisch aufbereitet: In der einen Methode läuft alles zusammen, der Start und das Beenden des Moduls – auf Wunsch als eigener Prozess, die Form-Methode mit allen Form-Events, die Button-Aktionen und ggf. der rekursive Aufruf, um Dienstleistungen innerhalb der Methode verwenden zu können und nicht eine eigene Dienstleistungsmethode dazustellen zu müssen. ProzessvariablenEin Nebeneffekt ist, daß die Prozessvariablen – ohne die ein Layout nicht zu gestalten ist – nur in dieser einen Methode leben. Sie werden nur in dieser Methode angelegt, mit Inhalt gefüllt, verwendet und zum Schluß wieder initialisiert (Arrays, Blobs, Bilder, hierarchische Listen, …). Das spart mir Verwaltungs-Aufwand – was ich auf einer Ebene der Methodenstruktur anlege wird am Ende des gleichen Abschnittes wieder gekillt – und damit manche Sorge. Prozessvariablen sind in diesem Vorfahren fast so gut wie lokale Variablen: es gibt sie nur in dieser Methode und am Ende des Prozeßes entfernt sie 4D für mich aus dem Speicher. NachtragOhne Pointer auf lokale Variablen ist das System un-realisierbar, also ab 2004.2. Ohne Ein- und Ausklappen der Methoden-Struktur würde ich mir solche Monstermethoden auch nicht antun. Die Anzahl der Parameter reduziert sich auf 3. |