![]() |
AW: TADOConnection auf anderem Datenmodul wie TADOQuery
Sowas war ich mir auch gerade am basteln:
Delphi-Quellcode:
procedure TDM_Systemoptionen.DataModuleCreate(Sender: TObject);
var ADOQuery: TADOQuery; I: Integer; begin inherited; DM_Systemoptionen := Self; For I := 0 to DM_Systemoptionen.ComponentCount - 1 do begin if DM_Systemoptionen.Components[I] is TADOQuery then begin ADOQuery := TADOQuery(DM_Systemoptionen.FindComponent(DM_Systemoptionen.Components[I].Name)); ADOQuery.Connection := DM_Menu.ADO_Con_SYSDBP; end; end; //ADOQueryTreeView.Connection := DM_Menu.ADO_Con_SYSDBP; end; Aber besser ist es natürlich in eine Funktion zu packen damit ich das für alle Datenmodule nutzen kann, wie bei Dir. Aber warum das bei TADO so ist ? |
AW: TADOConnection auf anderem Datenmodul wie TADOQuery
Hätte statt
Delphi-Quellcode:
nicht auch
ADOQuery := TADOQuery(DM_Systemoptionen.FindComponent(DM_Systemoptionen.Components[I].Name));
Delphi-Quellcode:
gereicht?
ADOQuery := TADOQuery(DM_Systemoptionen.Components[I]);
Davon abgesehen ist das schöne an Sir Rufos Methode, dass sie mehr entkoppelt ist, d.h. das ursprüngliche Datenmodul "DM_Menu" muss in den folgenden nicht bekannt sein, es wird einfach über den Setter die Connection übergeben. GGf. könnte man doch auch das create des Datenmoduls überschreiben (oder?) und da direkt die Connection übergeben? Da man da ggf. auch bereits weiß wie alle Querys heißen, muss man dann auch nicht durch alle Komponenten nach den Querys suchen. Umgekehrt ist die Setter-Funktion natürlich in anderen Datenmodulen wiederverwertbar egal wie die Querys dsa heißen. |
AW: TADOConnection auf anderem Datenmodul wie TADOQuery
Das tut doch schon beim Schreiben weh, oder?
Delphi-Quellcode:
Wie kann man nur auf dieses schmale Brett kommen? :wall:
procedure TDM_Systemoptionen.DataModuleCreate(Sender: TObject);
var ADOQuery: TADOQuery; I: Integer; begin inherited; DM_Systemoptionen := Self; |
AW: TADOConnection auf anderem Datenmodul wie TADOQuery
Jetzt bekomme ich Sie aber richtig hier ;)
Daher hatte ich diese Schmuddellösung: ![]() Vielleicht gibt es ja was besser, aber es konnte nichts besseres gefunden werden ... Die Lösung von Sir Rufos habe ich nun auch so übernommen ;) |
AW: TADOConnection auf anderem Datenmodul wie TADOQuery
Natürlich gibt es was Besseres und das wurde dort auch genannt.
Diese Lösung wurde als Schmuddelnotlösung bezeichnet und ist eigentlich noch schlimmer. |
AW: TADOConnection auf anderem Datenmodul wie TADOQuery
Dennoch danke. Werde mal schauen wenn ich dazu komme mich mit dem Thema nochmal zu befassen, da es ja eigentlich stabil läuft ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:53 Uhr. |
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