Hi,
meine Projekte sind in letzter Zeit eher klein, gewissermaßen Tools zur Selbsthilfe.
Aber dennoch hat jetzt eines einen Zustand erreicht, bei dem die nicht visuellen Komponenten nerven.
Erklärung: Ich kann mittels IDE hervorragend alle Steuerelemente platzieren, so wie es dann in der Anwendung mal aussehen soll. Das geht fein.
Dinge auf einem anderen Tabellenblatt sehe ich nicht, alles ist schick.
Aber was mache ich mit den nicht sichtbaren Komponenten? Dazu zählt zumindest so etwas, wie MainMenu, ActionList, PopupMenu (und in meinem Fall - ich weiß, eigentlich Datenmodul - SQLQuerys, Transaction, Connection ...).
Im Moment sortiere ich mir die immer neu um.
Gibt es dafür einen Lösungsansatz? Könnte man eine dritte Formularansicht bauen, in welcher die nicht visuellen Komponenten "visualisiert" werden?
Wie löst ihr das?
AM
Formular: Wohin mit nicht sichtbaren Komponenten?
- gladio
- Beiträge: 217
- Registriert: Sa 21. Jun 2014, 06:15
- OS, Lazarus, FPC: Win10-64 - aktuelle Lazarus/FPC Standard-Edition
- CPU-Target: 64Bit
- Wohnort: Rügen
Re: Formular: Wohin mit nicht sichtbaren Komponenten?
Auf einem Formular sind immer mehr oder weniger freie Bereiche. Also zu erst mal dahin.
Dann habe ich auch kein Problem damit, die einfach über große Komponenten wie DataGrid... zu legen.
Die sind bei mir im Entwurf meistens inaktiv und so stört es auch nicht, wenn da was drüber liegt.
Wenn dann wirklich kein Platz ist, könnte man das Formular größer machen und die Größe bei der Ausführung
im OnCreate oder OnShow richtig setzen.
Dann habe ich auch kein Problem damit, die einfach über große Komponenten wie DataGrid... zu legen.
Die sind bei mir im Entwurf meistens inaktiv und so stört es auch nicht, wenn da was drüber liegt.
Wenn dann wirklich kein Platz ist, könnte man das Formular größer machen und die Größe bei der Ausführung
im OnCreate oder OnShow richtig setzen.
Re: Formular: Wohin mit nicht sichtbaren Komponenten?
SQLQuery, Transactions, Connections kannst du in ein DataModule auslagern. Und manche nicht-visuellen Komponenten (TOpenDialog) muss man eigentlich nicht aufs Formular klicken, sondern kann sie auch zur Laufzeit erzeugen:
Code: Alles auswählen
procedure TForm1.MenuFileOpen(Sender: TObject);
begin
with TOpenDialog.Create(nil) do
try
Filter := 'Alle Dateien (*.*)|*.*|Text-Dateien (*.txt)|*.txt';
FilterIndex := 2;
Options := Options + [ofPastMustExist];
if Execute then
LoadFile(FileName);
finally
Free;
end;
end;
procedure TForm1.LoadFile(const AFileName: String);
begin
// Hier Code zum Laden der angegebenen Datei
end;
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: Formular: Wohin mit nicht sichtbaren Komponenten?
MSEide hat auch die Möglichkeit, die Sichtbarkeit von nicht visuellen und visuellen Komponenten pro Formular einzustellen. Ich nehme an auch Lazarus hat eine entsprechende Option.
Zuletzt geändert von mse am Mi 28. Jun 2017, 13:36, insgesamt 1-mal geändert.
-
- Lazarusforum e. V.
- Beiträge: 116
- Registriert: Di 21. Dez 2010, 09:59
- OS, Lazarus, FPC: Win (L 0.9.26 beta FPC 2.2.2)
- CPU-Target: 32 Bit
Re: Formular: Wohin mit nicht sichtbaren Komponenten?
Datenmodule: Noch zu Delphi- Zeiten habe ich relativ intensiv mit Datenmodulen gearbeitet, aber nervig war dann, dass ich zwar Queries und Datasources im Datenmodul schön miteinander verheiraten konnte, aber das Durchreichen an die Steuerelemente dann mit weiteren Data- Sources verbunden war, da man (zumindest in dem Kontext, in dem ich das damals brauchte) die Steuerelemente nicht so richtig per IDE an Datasources fremder Datenmodule hängen konnte.
Für meine Tools ist das übertrieben, das erzeugt nur unnötigen Aufwand.
Tatsächlich erzeuge ich die meisten Sachen dymanisch, weil mir das statische Reservieren von Steuerelementen, die ich nur in sehr seltenen Fällen und für kurze Zeit benötige, auf den Geist geht (nicht zuletzt macht es die Member- Liste des Formulars und die Fensterfläche voll.
Aber dennoch bleiben immer so zwei Hände voll Komponenten übrig, die ich immer hin und her schiebe. Da ich viel mit PageControls arbeite, habe ich eigentlich kaum Flächen, die immer frei bleiben, außer ein "Nachrichten"- Memo am unteren Rand. Aber wenn ich das Fenster größer mache, dann schiebe ich die Dinger (natürlich einzeln) wieder dort hin.
Daher hatte ich gehofft, ich hätte einfach nur einen Knopf übersehen ...
@mse: Sowas könnte ich gebrauchen, das stimmt. Gibs dat?
Dennoch vielen Dank für Eure Antworten
Andreas
Für meine Tools ist das übertrieben, das erzeugt nur unnötigen Aufwand.
Tatsächlich erzeuge ich die meisten Sachen dymanisch, weil mir das statische Reservieren von Steuerelementen, die ich nur in sehr seltenen Fällen und für kurze Zeit benötige, auf den Geist geht (nicht zuletzt macht es die Member- Liste des Formulars und die Fensterfläche voll.
Aber dennoch bleiben immer so zwei Hände voll Komponenten übrig, die ich immer hin und her schiebe. Da ich viel mit PageControls arbeite, habe ich eigentlich kaum Flächen, die immer frei bleiben, außer ein "Nachrichten"- Memo am unteren Rand. Aber wenn ich das Fenster größer mache, dann schiebe ich die Dinger (natürlich einzeln) wieder dort hin.
Daher hatte ich gehofft, ich hätte einfach nur einen Knopf übersehen ...
@mse: Sowas könnte ich gebrauchen, das stimmt. Gibs dat?
Dennoch vielen Dank für Eure Antworten
Andreas
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: Formular: Wohin mit nicht sichtbaren Komponenten?
am2 hat geschrieben:Datenmodule: Noch zu Delphi- Zeiten habe ich relativ intensiv mit Datenmodulen gearbeitet, aber nervig war dann, dass ich zwar Queries und Datasources im Datenmodul schön miteinander verheiraten konnte, aber das Durchreichen an die Steuerelemente dann mit weiteren Data- Sources verbunden war, da man (zumindest in dem Kontext, in dem ich das damals brauchte) die Steuerelemente nicht so richtig per IDE an Datasources fremder Datenmodule hängen konnte.
Das sollte kein Problem mehr sein.