Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbanken während der Designzeit alle schließen/öffnen (https://www.delphipraxis.net/212256-datenbanken-waehrend-der-designzeit-alle-schliessen-oeffnen.html)

MarcRB75 14. Jan 2023 18:29

AW: Datenbanken während der Designzeit alle schließen/öffnen
 
ohe je ... ich halt mal wieder. Ich und meine Ideen.:oops:

Wäre halt, so finde ich, schon praktisch gewesen.

Wärend der Laufzeit öffene oder schließe ich z.B. auch nur Datenbanken, deren Pfad existiert, die Tabellen einen Tabellennamen haben und dieser gültig ist. Das ist alles nicht so tragisch.

Ich habe auch schon eigene, nach meinen Bedürfnissen Radiogroups, DBComboboxen, DBLookupComboboxen entwickelt.
Auch, dass man StringPropertys und Editoren verwendet.

Also mit "Application.ComponentsCount-1" ... funktioniert das während der Designzeit überhaupt nicht.

for i := 0 to Application.ComponentCount-1 do
begin
Comp :=Application.Components[i];

if Comp is TForm then
begin
Memo.Lines.Add(TForm(Comp).Name);
Application.ProcessMessages;
end;

Naja... es war halt mal wieder so eine verrückte Idee...:roteyes:


Aber trotzdem nochmal vielen Dank an ALLE, die mir geantwortet und sich ihre Gedanken hierzu gemacht haben.

himitsu 15. Jan 2023 03:13

AW: Datenbanken während der Designzeit alle schließen/öffnen
 
Im Designer mußt du mit der Form etwas aufpassen.

Die Forms sind nur Dummies und bestehen garnicht wirklich aus "unserem" deklarierten Typen.
Es wird quasi die RTTI (TypeInfo) eines gleichnamigen Types generiert, welcher direkt von TForm abgeleitet ist. (also aufpassen bei vererbten Forms)

Aber dennoch kann man von der aktuellen Komponente via Parent, bzw. den Owner, auf "eine" Instanz der Design-Form und alle Subkomponenten zugreifen, bzw. über Screen (aber besser über die Modul-API der OpenToolsAPI) auf alle aktuellen Forms im Designer.


Zitat:

Delphi-Quellcode:
Application.ComponentCount

Das war so gesehn eh nie ganz richtig, denn da sind nur Forms und andere Komponenten drin, welche Application als Owner besitzen, z.B. weil sie "automatisch" via Application.CreateForm erstellt wurden.
Der FormDesigner benutzt aber einen anderen Owner und sowas war noch nie verboten.

Forms sucht man über Delphi-Referenz durchsuchenScreen, denn dort registrieren sich selbstständig alle TForm-/TCustomForm- und TDataModul-Instanzen.

TigerLilly 15. Jan 2023 10:46

AW: Datenbanken während der Designzeit alle schließen/öffnen
 
Ich glaube, du versuchst ein Problem zu lösen, das du eher hast, weil dein Workflow nicht so recht passt. Wenn sich die DB dauernd ändert und du schon das UI programmierst, ist das suboptimal. Bzw ist das eine Phase, die nicht lange dauern sollte. Ich kenn das auch, aber die Querys einmal zu öfnen und wieder zu schließen ist jetzt nicht der Mörderaufwand. Von den Querys etc Ableitungen zumachen, in der Palette zu installieren etc hingegen schon.

MarcRB75 22. Jan 2023 11:28

AW: Datenbanken während der Designzeit alle schließen/öffnen
 
Zitat:

Zitat von himitsu (Beitrag 1517439)
Im Designer mußt du mit der Form etwas aufpassen.

Die Forms sind nur Dummies und bestehen garnicht wirklich aus "unserem" deklarierten Typen.
Es wird quasi die RTTI (TypeInfo) eines gleichnamigen Types generiert, welcher direkt von TForm abgeleitet ist. (also aufpassen bei vererbten Forms)

Aber dennoch kann man von der aktuellen Komponente via Parent, bzw. den Owner, auf "eine" Instanz der Design-Form und alle Subkomponenten zugreifen, bzw. über Screen (aber besser über die Modul-API der OpenToolsAPI) auf alle aktuellen Forms im Designer.


Zitat:

Delphi-Quellcode:
Application.ComponentCount

Das war so gesehn eh nie ganz richtig, denn da sind nur Forms und andere Komponenten drin, welche Application als Owner besitzen, z.B. weil sie "automatisch" via Application.CreateForm erstellt wurden.
Der FormDesigner benutzt aber einen anderen Owner und sowas war noch nie verboten.

Forms sucht man über Delphi-Referenz durchsuchenScreen, denn dort registrieren sich selbstständig alle TForm-/TCustomForm- und TDataModul-Instanzen.



Ah... Du hast mir wieder etwas Mut gemacht, weiter zu experimentieren. Irgendwie lässt mich mein Gedanke auch nicht wirklich los.
Vielleicht bin ich da irgendwie in der Tat ganz falsch an die Sache rangegangen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:07 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz