AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken DataSet an anderes Formular übergeben
Thema durchsuchen
Ansicht
Themen-Optionen

DataSet an anderes Formular übergeben

Ein Thema von machstuhl · begonnen am 26. Mai 2014 · letzter Beitrag vom 26. Mai 2014
Antwort Antwort
machstuhl

Registriert seit: 17. Jul 2012
40 Beiträge
 
#1

DataSet an anderes Formular übergeben

  Alt 26. Mai 2014, 11:07
Datenbank: Oracle • Version: 11 • Zugriff über: Direct Oracle Access
Hallo,
ich habe zwei Fenster. Auf einem wird per DataSet und DataSource ein DBGrid befüllt.
Um die Query nicht nochmal ausführen zu müssen, will ich die abgefragten Daten an das andere Formular (ebenfalls in ein DBGrid mittels DataSet->DataSource) übergeben.

Delphi-Quellcode:
procedure TForm1.uebergeben(var tods: TOracleDataSet);
begin
//
end;
funktioniert nicht, ebenso wie
Form1.OracleDataSet1 := OracleDataSet2; hat irgendwer ne kluge idee?
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#2

AW: DataSet an anderes Formular übergeben

  Alt 26. Mai 2014, 11:09
Wenn unsere User "funktioniert nicht" schreiben, rastet unsere Hotline regelmäßig aus...
  Mit Zitat antworten Zitat
Der schöne Günther
Online

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: DataSet an anderes Formular übergeben

  Alt 26. Mai 2014, 11:10
Ich frag mich auch, was denn "nicht funktioniert" ist. Wahrscheinlich "Er zeigt andere Dinge an, als ich erwartet hätte".

Der DBGrid hängt am TDataSource. Das zeigt auf ein TDataSet. Übergib doch einfach eine Referenz welches DataSet zu haben willst und bieg den TDataSource um.
  Mit Zitat antworten Zitat
machstuhl

Registriert seit: 17. Jul 2012
40 Beiträge
 
#4

AW: DataSet an anderes Formular übergeben

  Alt 26. Mai 2014, 11:11
sorry

es wird keine fehlermeldung ausgegeben. er füllt einfach das Dataset nicht.

egal wie rum ichs mache.
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: DataSet an anderes Formular übergeben

  Alt 26. Mai 2014, 11:24
Versuchs mal mit

  MeineGrid.DataSource := AnderesForumlar.MeineDataSource;
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
machstuhl

Registriert seit: 17. Jul 2012
40 Beiträge
 
#6

AW: DataSet an anderes Formular übergeben

  Alt 26. Mai 2014, 11:28
Versuchs mal mit

  MeineGrid.DataSource := AnderesForumlar.MeineDataSource;
thx!

so nah und doch so fern....
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

AW: DataSet an anderes Formular übergeben

  Alt 26. Mai 2014, 13:16
funktioniert nicht, ebenso wie
Form1.OracleDataSet1 := OracleDataSet2;
Das ändert nur Zugriffe, welche im Code manuell auf OracleDataSet1 zugreifen.
Die Verlinkungen der Komponenten auf der Form werden davon aber nicht beeinflusst.
Ein Problem deibei entsteht, daß man im Code nun auf OracleDataSet1 zugreift, darin aber eigentlich OracleDataSet2 drin verlinkt ist, aber die Oberfläche dennoch ein (anderes) OracleDataSet1 besitzt, und die Komponenten auf der Form natürlich immernoch auf die OracleDataSet1 zugreifen.


Zitat:
procedure TForm1.uebergeben(var tods: TOracleDataSet);
Warum VAR? Du willst doch nur die Verlinkung reingeben geben und nicht die Variable verändern, welche an tods beim Aufruf von "uebergeben" übergeben wurde.

Außerdem hattest du bei dem Code natürlich vergessen zu zeigen was in "uebergeben" nun eigentlich gemacht wird.




Fazit: Das "uebergeben" (ohne VAR) war schon OK, aber du mußt es auch da natürlich der DataSource zuweisen und nicht der DataSet-Variable.
$2B or not $2B
  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 08:32 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