AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TDataModule überlisten
Thema durchsuchen
Ansicht
Themen-Optionen

TDataModule überlisten

Ein Thema von Union · begonnen am 23. Jul 2008 · letzter Beitrag vom 23. Jul 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#1

TDataModule überlisten

  Alt 23. Jul 2008, 14:44
Datenbank: ADS • Version: 9 • Zugriff über: TDataSet
Hallo,

in meinem Datenformular habe ich bei allen Dataset Komponenten Active und StoreActive auf True gesetzt, damit ich zur Designzeit visuell arbeiten kann.

Zur Laufzeit will ich aber das Öffnen selber steuern. Jetzt habe ich eine ganz widerliche Lösung zusammengehackt, die auch funktioniert:
  • Constructor erstellt als Kopie aus Classes.pas
  • Aus Classes.pas InitInheritedComponent und InternalReadComponentRes kopiert
  • InitInheritedComponent angepaßt: Ich merke mir alle TDataSet-Komponenten in einem Array, entferne diese Komponenten aus Components. Nach dem Aufruf von NotifyGlobalLoading füge ich die Komponenten wieder hinzu.
Das funktioniert auch - aber natürlich ist diese Lösung nicht sehr sauber (Notifications, Reihenfolge der Komponenten stimmt nicht mehr 100% usw.). Am besten wäre es natürlich, abgeleitete Komponenten zu erstellen, die eine Property DontRestoreActiveAtRuntime hätten...

Gibt es da eine intelligentere Lösung?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.762 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: TDataModule überlisten

  Alt 23. Jul 2008, 14:45
Die TDataSets die mir bekannt sind haben die Property DesignActivation. DAmit kann man einstellen, daß die eben nur zur Designzeit active sein sollen.

Schau mal, vielleicht haben es Deine auch.

Sherlock
Oliver
  Mit Zitat antworten Zitat
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
374 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: TDataModule überlisten

  Alt 23. Jul 2008, 14:47
Mit den GExperts kannst Du für bestimmte Komponenten definieren
welchen Zustand welcher Eigenschaft sie haben sollen.

Also, z.B. für eine DatasetSetkomponente.Active := False...

Moin

edit:
In der Konfiguration von Gexperts: set Component properties
ist ziemlich weit unten
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: TDataModule überlisten

  Alt 23. Jul 2008, 14:53
Danke für die schnellen Antworten.
@Sherlock: Leider haben die Ads-Komponenten das nicht...
@stifflersmom: Ich wollte nicht unbedingt noch einen zusätzlichen Wizard (den muß dann nämlich jeder im Projekt auf jedem PC auch installieren). Werd mir das aber mal ansehen. [edit]Habs mir angesehen, leider geht das laut man nur global komponentenspezifisch - ich will aber dieses verhalten eben nur im zentralen, Datenformular. In allen anderen Situationen sollen sich die Komponenten standardgemäß verhalten[/edit]
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von rwachtel
rwachtel

Registriert seit: 26. Aug 2004
Ort: Köln
530 Beiträge
 
RAD-Studio 2010 Pro
 
#5

Re: TDataModule überlisten

  Alt 23. Jul 2008, 15:14
Zitat von Union:
[...] Habs mir angesehen, leider geht das laut man nur global komponentenspezifisch - ich will aber dieses verhalten eben nur im zentralen, Datenformular. In allen anderen Situationen sollen sich die Komponenten standardgemäß verhalten[/edit]
GExperts sind Open Source. Erweitere sie doch um genau diese Eigenschaft, also dass man ein (oder mehrere) Formular(e) bestimmen kann, auf denen der Set Component Properties-Experte arbeitet.
Robert Wachtel
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: TDataModule überlisten

  Alt 23. Jul 2008, 15:20
Zitat:
GExperts sind Open Source. Erweitere sie doch um genau diese Eigenschaft
Ich wollte den Aufwand begrenzen. Ich suche eine lokale Lösung die ausschließlich mit Code der Applikation funktioniert. Und wie bereits vorher erwähnt möchte ich mir die Konfiguration von diversen Entwicklungsrechnern ungern antun - es reicht schon die bisher verwendeten Komponenten synchron zu halten. Da käme mir eine zusätzliche Wizard-Konfiguration recht ungelegen.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.350 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: TDataModule überlisten

  Alt 23. Jul 2008, 15:41
Zitat von Union:
Hallo,

in meinem Datenformular habe ich bei allen Dataset Komponenten Active und StoreActive auf True gesetzt, damit ich zur Designzeit visuell arbeiten kann.
Ich denke, das StoreActive das Problem lösen sollte, oder?

Frank
Frank Reim
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: TDataModule überlisten

  Alt 23. Jul 2008, 15:56
Zitat:
Ich denke, das StoreActive das Problem lösen sollte, oder?
Leider nicht. Denn dann werden die Tabellen ja zur [edit]Laufzeit Designzeit[/edit] nach dem Laden ebenfalls nicht geöffnet. Dann müsste ich jedesmal wenn ich das Projekt lade in das Datenformular gehen und alle manuell auf Active := True setzen. Genau das will ich ja erreichen:
  • Laden des Datenmoduls zur Designzeit: Alles soll sich automatisch öffnen
  • Laden des Datenmoduls zur Laufzeit: Alles soll geschlossen bleiben
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: TDataModule überlisten

  Alt 23. Jul 2008, 16:50
Gibt es keine Connection-Komponente über die alle Querys laufen? Dann könntest du einfach bei dieser Active = false setzen und alle Querys sind wieder deaktiviert. Das wäre dann nur noch eine Stelle, die du handisch mit einem Doppelklick bemühen müstest.
  Mit Zitat antworten Zitat
Benutzerbild von rwachtel
rwachtel

Registriert seit: 26. Aug 2004
Ort: Köln
530 Beiträge
 
RAD-Studio 2010 Pro
 
#10

Re: TDataModule überlisten

  Alt 23. Jul 2008, 17:48
Damit wäre aber der umgekehrte Weg auch noch nicht gelöst...
Robert Wachtel
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz