Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by shmia,
28. Jun 2007
Warum sollte man den Focus auf diese Art verändern wollen?
Du musst hier schon etwas genauer den Hintergrund erklären.
Aber generell lässt sich das Problem mit Events lösen:
// ein selbstdefiniertes Event
TStatusEvent = procedure(Sender:TObject; status:integer) of object;
TMyDataModule=class(TDataModule)
private
procedure DoStatusEvent(status:integer);
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by shmia,
27. Jun 2007
Ach so.
Die Methode SelectNext ist protected und kann deshalb nur innerhalb eines Formular (oder WinControls) aufegrufen werden.
Das hat auch seine Berechtigung.
Ein Formular sollte ein Datenmodul benützen.
Anderst herum (ein Datenmodul ruft Methoden eines Formulars auf) liegt eigentlich schon ein Designfehler vor.
Das Datenmodul darf das Formular gar nicht kennen!
In bestimmten Fällen...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by shmia,
27. Jun 2007
Ein Datenmodul ist nicht-visuell.
Es gibt Komponenten, die an der Benutzeroberfläche sichtbar sind (TLabel, TForm, TEdit, TDBEdit, ...).
Diese Komponenten werden Steuerelemente (englisch: Controls) genannt.
Sie sind allesamt von der Klasse TControl abgeleitet und erben davon einige Methoden und Properties.
Alle anderen Komponenten sind nicht-visuell (TTimer, TImageList, TDataModule, ...)....