AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Von mehreren Forms auf EIN DataSet zugreifen

Offene Frage von "mh166"
Ein Thema von mh166 · begonnen am 25. Sep 2008 · letzter Beitrag vom 1. Okt 2008
Antwort Antwort
Benutzerbild von mh166
mh166

Registriert seit: 14. Nov 2004
Ort: Chemnitz
443 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Von mehreren Forms auf EIN DataSet zugreifen

  Alt 25. Sep 2008, 16:55
Hallo allerseits,

in meiner Winforms-Anwendung habe ich eine DataSet-Kompo auf dem Form frmMain und will von nem zweiten Form - nennen wir es frmZwei - drauf zugreifen. Hört sich recht trivial an: frmMain.DataSet - wo soll da das Problem sein? Nun es ist folgendes:

Die Anwendung die ich programmiere soll später mal auf Windows Mobile laufen. Drum sind mein Platz auf den Forms und auch die Ressourcen relativ beschränkt. Also wollt ich nur eine DataSet-Kompo haben und hab die halt auf das Mainform gefplanzt. Allerdings frag ich mich nun, wie ich die Komponenten (z.B. Listboxen oder ähnliches) auf dem zweiten Form an das DataSet auf dem ersten binden kann. Unter DataSource kann ich nix auswählen (hätte mich auch gewundert) und z.B. "frmMain.DataSet" reinschreiben funktioniert natürlich auch nicht; ist ja nur eine DropDown-Liste.

Daher jetzt meine Frage: wie kann ichs schaffen, dass ich scho zur Designtime im Objektinspektor die Komponenten von frmZwei an das DataSet auf frmMain binden kann? An sich das zur Laufzeit dann zu ändern mag zwar gehen ... ist aber arg umständlich.

Oder habt ihr noch andere Ideen wie man das Problem elegant und einigermaßen ressourcenschonend lösen könnte?

mfg, mh166
Tiefgründige Sätze unserer Zeit:
Zitat von Luckie:
Und diesen Token zur Laufzeit zu modifizieren würde bedeuten, dass du zur laufzeit das Token ändern musst.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Von mehreren Forms auf EIN DataSet zugreifen

  Alt 25. Sep 2008, 18:12
Moin mh,

was ist daran umständlich das zur Laufzeit zu machen?
Bevor das Formular mittels Show oder ShowModal angezeigt wird, setzt Du eine Eingenschaft auf den DataSet des Haupformulares, und zeigst es an.
Andere Variante:
Du verwendest ein DataModule und bindest das in alle Formulare ein.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von mh166
mh166

Registriert seit: 14. Nov 2004
Ort: Chemnitz
443 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

Re: Von mehreren Forms auf EIN DataSet zugreifen

  Alt 25. Sep 2008, 19:03
Hmmm ... ich fürchte mir bleibt wohl keine andere Wahl als die Eigenschaft zur Runtime zu setzen. Was daran umständlich is? Nuuun ... ähm ... bin halt faul.

Aber was hats denn mit dem DataModule auf sich? Wo findet man das? Hab irgendwie weder in den Kompos der Winforms noch in der Hilfe wat dazu finden können.

so far ...

// Edit: irgendwie scheint das bei den Winforms doch nich so trivial zu sein, mit dem zugreifen. Hab grad mal ne Eigenschaft dsGlobal vom Typ TObject (vorher wars System.Data.DataSet, hat aber auch nich geklappt) als published erstellt. Im OnLoad des Formulars mach ich:
Code:
dsGlobal := dsDatenbank;
Das Ganze über ne Eigenschaft, da der Designer die Kompos der Winforms standardmäßig als private deklariert. Nun wollt ich im anderen Form folgendes tun:
Code:
combSelect.DataSource := frmMain.dsGlobal; // combSelect ist eine Combobox
Dann aber kommt folgender Compilerfehler:
[Pascal Error] uGebiet.pas(162): E2096 Method identifier expected

Einer ne Ahnung wie ich nun vllt. doch noch an mein DataSet rankomme? Wenn ich einfach nur frmMain eintippe und danach die CodeCompletion anzeigen lasse, dann taucht dort auch nirgends n "dsGlobal" auf. In der uses unter implementation isses aber ...
Tiefgründige Sätze unserer Zeit:
Zitat von Luckie:
Und diesen Token zur Laufzeit zu modifizieren würde bedeuten, dass du zur laufzeit das Token ändern musst.
  Mit Zitat antworten Zitat
Benutzerbild von mh166
mh166

Registriert seit: 14. Nov 2004
Ort: Chemnitz
443 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: Von mehreren Forms auf EIN DataSet zugreifen

  Alt 1. Okt 2008, 16:08
Hat denn keiner ne Idee, wie ich auf das depperte DataSet zugreifen könnte?
Tiefgründige Sätze unserer Zeit:
Zitat von Luckie:
Und diesen Token zur Laufzeit zu modifizieren würde bedeuten, dass du zur laufzeit das Token ändern musst.
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:34 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