Metainformationen zur Seite
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| code:defaultmethods [2025/10/24 07:58] – Harald Schmid | code:defaultmethods [2026/08/24 18:54] (aktuell) – Harald Schmid | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Standard-Funktionen und -Methoden ====== | ====== Standard-Funktionen und -Methoden ====== | ||
| + | |||
| + | ===== Nachrichten und Events ===== | ||
| + | |||
| + | ==== Nachrichten vom Hauptprogramm zum Modul ==== | ||
| + | |||
| + | < | ||
| + | CurrentModule.NotifyModuleI(' | ||
| + | CurrentModule.NotifyModuleS(' | ||
| + | </ | ||
| + | |||
| + | Zum Empfangen der Nachrichten müssen im TInsightsModuleMain die virtuellen Methoden überschrieben werden: | ||
| + | |||
| + | insights.module.base - TinsightsModuleBase | ||
| + | < | ||
| + | procedure NotifyModuleI(const mInfo: string; mInt: Integer); virtual; | ||
| + | procedure NotifyModuleS(const mInfo, mStr: string); virtual; | ||
| + | </ | ||
| + | |||
| + | insights.module.main - TinsightsModuleMain | ||
| + | < | ||
| + | procedure NotifyModuleI(const mInfo: string; mInt: Integer); override; | ||
| + | procedure NotifyModuleS(const mInfo, mStr: string); override; | ||
| + | </ | ||
| + | |||
| + | ==== Nachrichten vom Modul zum Hauptprogramm ==== | ||
| + | |||
| + | Um eine Nachricht aus einem Modul zum Hauptprogramm zu schicken, ruft das Modul die Methode Events.OnReceiveIDInt oder Events.OnReceiveIDStr auf. Diese triggern im Hauptprogramm dann | ||
| + | |||
| + | < | ||
| + | Result.Events.OnReceiveIDInt := formMain.DoReceiveIDInt; | ||
| + | Result.Events.OnReceiveIDStr := formMain.DoReceiveIDStr; | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | procedure TformMain.DoReceiveIDInt(const mEventStr: string; mID: Integer; var mResult: Integer); | ||
| + | begin | ||
| + | if sametext(' | ||
| + | mResult := IfThen(FModuleList.ContainsKey(mID), | ||
| + | end; | ||
| + | |||
| + | procedure TformMain.DoReceiveIDStr(const mEventStr: string; mID: Integer; var mResult: string); | ||
| + | begin | ||
| + | if sametext(' | ||
| + | mResult := formInit.cxMemo1.Lines.Text; | ||
| + | end; | ||
| + | </ | ||
| ===== im Module (TinsightsModuleBase) ===== | ===== im Module (TinsightsModuleBase) ===== | ||
| Zeile 5: | Zeile 51: | ||
| ==== Presets ==== | ==== Presets ==== | ||
| - | * ActivatePresetsByID\\ //Aktiviert einen Preset für das aktuelle Modul über die PresetID// | + | * ActivatePresetsByID |
| - | * CurrentConfigToJson | + | * CurrentConfigToJson |
| * CurrentConfigFromJson | * CurrentConfigFromJson | ||
| + | |||
| + | ===== TCommon - insights.common ===== | ||
| + | |||
| + | * AddButtonToButtonLayoutGroup ++ Info | \\ // | ||
| + | Beschreibung | ||
| + | ++ | ||
| + | |||
| + | ===== Drag & Drop ===== | ||
| + | * Um das Drag& | ||
| + | * Die auf das Formular gedroppten Dateien können dann in der override-Methode **procedure FilesDropped(const mText: string); override;** ausgewertet werden. | ||
| + | |||
| + | < | ||
| + | procedure TinsightsModuleMain.FilesDropped(const mText: string); | ||
| + | begin | ||
| + | // direkt im Module Code ausführen oder | ||
| + | // den Event OnFilesDropped des formModuleBase (override im eigentlichen Formular) ausführen | ||
| + | if assigned(FConfigForm.OnFilesDropped) then | ||
| + | FConfigForm.OnFilesDropped(mText); | ||
| + | end; | ||
| + | </ | ||
| + | |||
| + | Im ConfigForm kann man dann in InitVars dem OnFilesDropped eine eigene Methode zuweise: | ||
| + | |||
| + | < | ||
| + | procedure TformConfigForm.InitVars; | ||
| + | begin | ||
| + | inherited; | ||
| + | OnFilesDropped := FilesDropped; | ||
| + | end; | ||
| + | |||
| + | procedure TformConfigForm.FilesDropped(const mText: string); | ||
| + | begin | ||
| + | CodeSite.Send(csmGreen, | ||
| + | hsSList(mText, | ||
| + | begin | ||
| + | CodeSite.Send(mInt.ToString, | ||
| + | end); | ||
| + | end; | ||
| + | </ | ||
| + | |||