Zitat:
Der Unterschied ist, daß Application eben unnötig ist. Mr. Green Ich benutze das nur, um z.B. etwas in der Taskleiste anzeigen zu lassen, ein Icon zu setzen usw.
Das ist so falsch: Wenn ich über Application.CreateForm gehe, dann sorgt eben die Application dafür, das beim Programmende die Forms ordendlich und sauber abgebaut werden: Also erst alle Messages zu Ende abarbeiten, dann dichtmachen, dann Speicher freigeben etc. Wenn ich die Forms einfach so kreiere und dann wieder wegschmeisse, dann kann es sein, das irgendwo was nicht ganz sauber abgebaut wird.
Jetzt zum Thema: Wenn ich Forms mit Datensensitiven Steuerelementen bei Programmstart erzeuge, dann klingen sich alle TDBEdits und TDBGrids etc. in eine Notifier-Liste ein, die vom Dataset immer reium benachrichtigt wird, wenn sich was in der
DB ändert: Deshalb heissen sie ja auch so : daten
sensitive Steuerelemente.
Mein Tipp: Wie auch die der Vorredner: Erzeuge jeweils nur die unbedingt notwendigen Forms. Weil Forms manchmal etwas Zeit zum kreieren benötigen, ist as manchmal doch angebracht, sie vorher zu erzeugen. Sonst wartet der Benutzer unnötigerweise.
Ich mach es so:
Delphi-Quellcode:
If Not Assigned (fForm) Then
Application.CreateForm (TfForm, fForm);
Wobei ich schön drauf achte, das alle Form-Variablen beim Programmanfang mit nil initialisiert werden. Das ist bei
W2K zwar egal, aber bei dem W95/ME Schrott kann/konnte man sich da nicht sicher sein. Aber gute Programme initialisieren sowieso Alles und Jeden!