Autor Beitrag
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Di 11.01.05 16:10 
Wenn ich im Source ein TDataSet habe, wie bekomme ich dann heraus, welches TDataSource darauf zeigt?
Die beiden Komponenten müssen nicht mal auf der selben Form liegen.
grayfox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 800

win98, winXP
D4 Standard; D6 Personal
BeitragVerfasst: Di 11.01.05 16:31 
meinst du etwa so etwas?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
var
  aDataSet: TDataSet;

begin
  aDataSet:= DataSource.DataSet
.
.
.
end;


mfg, stefan
jasocul Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Di 11.01.05 16:40 
Eigentlich ist es ein Problem mit selbstgeschriebenen Komponenten. Aber die Problematik wollte ich lieber mit bekannten Standard-Komponenten beschreiben. Sonst könnte das ganze zu verwirrend werden.
Ich kenne im Source nur das TDataSet.
Jetzt muss ich herausbekommen, welches TDataSource darauf zeigt. Ich weiß aber nicht, wo es abgelegt ist. Es kann auch auf einer anderen Form liegen. D.h.: Ich kann nicht beim Owner (als TForm) alle Komponenten durchlaufen, da ich auch den Owner nicht kenne.
Ich weiß nur, dass es ein TDataSource geben muss.
grayfox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 800

win98, winXP
D4 Standard; D6 Personal
BeitragVerfasst: Di 11.01.05 16:47 
dann hab ich dich wohl falsch verstanden - ich war mit meinen gedanken wohl immer noch beim media-markt ;)

wie wäre es, wenn du übers anzeigeelement und den namen deines datasets die datasource suchst? das ergibt zwar eine tipperei, aber du weisst ja, auf welcher form es sich befindet.

was hältst du von diesem vorschlag?


mfg, stefan
jasocul Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Di 11.01.05 16:51 
Dann müsste ich zumindest wissen, auf welcher Form sie liegen. Oder ich muss alle Formen des Projektes durchsuchen. Bei einer MDI-Anwendung nicht unbedingt ideal. Wenn dann noch eine Form der Owner einer anderen Form ist ....
Bisher mache ich das zwar so, wie du es beschrieben hast, aber ich bin mit der Lösung nicht wirklich zufrieden.
Nochmal zur Ergänzung: Ich kenne wirklich nur das TDataSet und muss darüber das TDataSource finden. Wenn das überhaupt geht. Das Parent des TDataSet kann ich natürlich auch feststellen. Aberdas wars dann auch.
jasocul Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 12.01.05 13:04 
Habe meine Komponenten jetzt anders programmiert. Das Problem ist also behoben.

Trotzdem würde mich interessieren, ob man das genannte Problem überhaupt lösen kann.
MitschL
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 211

Win 98 SE, Win 2000
D5 Pers, D6 Pers und D7 Pro
BeitragVerfasst: Mi 12.01.05 14:19 
Ich hab zu wenig Ahnung, aber dennoch etwas verwirrendes gefunden.

Die Komponente TDataset bietet doch selbst ein Datasource - Property ...
Des weiteren gibt es die IsLinkedTo-Funktion von TDataset, die ebenfalls auf ein TDatasource zeigt.
Müßten die jetzt nicht auf die von Dir gesuchte Datasource zeigen, oder gibt es da komplexere Verbindungen, so von Datasource zu Dataset zu nächster Datasource ...

gegrüßt!
MitschL
jasocul Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 12.01.05 14:45 
Das Problem ist, dass ich den umgekehrten Weg suche.
MitschL
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 211

Win 98 SE, Win 2000
D5 Pers, D6 Pers und D7 Pro
BeitragVerfasst: Mi 12.01.05 16:21 
Aber du hast doch nur das TDataset ...
und genau jenes besitzt, die von mir erwähnten Datasource und IsLinkedTo.
Wenn also das TDatasource auf das TDataset zeigt, kann man das an diesen Feldern sehen, oder gibt es eine weitere Verbindung, war meine Frage, weil ich ja dachte, daß diese Verbindung in beide Richtung zu gehen scheint.

gegrüßt!
MitschL
jasocul Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 12.01.05 16:28 
Die DataSource, die dort angegeben ist, ist eine ganz andere. Wofür die genau ist, wäre jetzt zu aufwändig zu erklären.
Das IsLinkedTo funktioniert nur für bestimmte (also eine, die ich kenne) DataSource. Und da hätten wir wieder mein Problem. Ich weiß einfach nicht, welche DataSources es geben kann.
MitschL
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 211

Win 98 SE, Win 2000
D5 Pers, D6 Pers und D7 Pro
BeitragVerfasst: Mi 12.01.05 16:35 
Tja,

dann bin ich dir keine Hilfe... :?

gegrüßt!
MitschL
jasocul Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 12.01.05 16:37 
Trotzdem nett von dir. Manchmal sieht man nämlich den Wald vor lauter Bäumen nicht. Nur leider ist es diesmal nicht so.