Ich trenne die Ansichten nicht, zum einen, weil ich während des Schreibens von Code den Designer nicht brauche, und zum Anderen, da ich die meisten
GUI-Elemente im Code erstelle. Dafür haben wir uns ein eigenes Framework geschrieben, welches enorm viele Dinge automatisiert. Wer will schon immer wieder die gleichen Dinge schreiben, Datenbankverbindungen manuell verwalten, Plausibilitätsprüfungen immer wieder neu machen, etc...
Das Ganze sieht dann in etwas so aus.
Formular definieren:
Delphi-Quellcode:
function TFormDemoMain.GetGroup: IFormDeclareGroup;
var
MainGroup
: IFormDeclareGroup;
Element
: IFormDeclareValueElement;
begin
MainGroup := TFormDeclareGroup.Create('MyGroup', 'Top Group');
MainGroup.Layout := TFormGroupLayout.fglTabbed;
Element := TFormDeclareValueGuid.Create('el1', 'First Element');
Element.Tag := 42;
Element.AllowsNull := False;
Element.DefaultValue := TGUID.Create(01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11).ToString;
MainGroup
.ElementAdd(TFormDeclareGroup.Create('SubGroup1', 'Sub Group I'))
.ElementAdd(Element)
.Parent
.ElementAdd(TFormDeclareGroup.Create('SubGroup2', 'Sub Group II'))
.ElementAdd(TFormDeclareValueEmail.Create('email', 'Email Adress'))
.ElementAdd(TFormDeclareValueMemo.Create('Address', 'Your Address'))
.Parent
.Parent;
Result := MainGroup;
end;
Und dann mit Datenbank verbinden und darstellen:
FCurrentForm := TFormDisplay.Display(DISPLAY_TYPE_VCL, grpDisplayContent, GetGroup) as IFormDisplayGroup;
Von hier an passiert alles automatisch (Datenanbindung, Plausibilitätstests, etc.)
...
...