Metainformationen zur Seite
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| code:defaultmethods [2026/05/06 13:36] – Harald Schmid | code:defaultmethods [2026/10/02 13:07] (aktuell) – Harald Schmid | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Standard-Funktionen und -Methoden ====== | ====== Standard-Funktionen und -Methoden ====== | ||
| + | |||
| + | ===== Modul umbenennen ===== | ||
| + | |||
| + | * **prüfen, ob es den neuen Namen schon gibt** | ||
| + | * in insights.constants.pas | ||
| + | * in Dabenbank modules.filename | ||
| + | * Datenbank: Tabelle **modules** Feld **filename** | ||
| + | * Dateiname der dll in IDE ändern | ||
| + | * Verzeichnis unter insights\data anpassen | ||
| + | * im Data-Verzeichnis den *.db Dateinamen anpassen | ||
| + | * im Data-Verzeichnis die *.ini-Datei anpassen | ||
| + | * in dll main ganz am Schluss CodeSite-String anpassen | ||
| + | * in insights.constants.pas **cmi_** und **cmc_** anpassen | ||
| + | * in insights.module.main.pas TinsightsModuleMain.Create **FInfo.Caption** und **FInfo.ID** anpassen | ||
| + | |||
| + | ===== ModulID ändern ===== | ||
| + | |||
| + | * **prüfen, ob es die neue ID schon gibt** | ||
| + | * in insights.constants.pas | ||
| + | * in Datenbank modules.id | ||
| + | * Datenbank: Tabelle **modules** Feld **id** und ggf. Feld **catid** anpassen | ||
| + | * in insights.constants.pas **cmi_** anpassen | ||
| + | * ggf. in insights.ini Settings LastModuleID anpassen (wenn das geänderte Modul das letzte aktive Modul war) | ||
| + | |||
| + | ===== 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 29: | Zeile 98: | ||
| </ | </ | ||
| + | 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; | ||
| + | </ | ||