Autor Beitrag
Graveslayer
Hält's aus hier
Beiträge: 2



BeitragVerfasst: So 11.10.09 09:43 
Hallo,
meine Frage:
Ich schreibe ein Programm mit einer Form und einer Unit.
Nun habe ich eine zweite Unit (Unit2) erzeugt und habe diese auch eingebunden.
Es funktioniert das ich von der Unit1 auf die Unit2 zugreifen kann.
Wie mache ich es aber, dass ich von der Unit2 auf Objekte (In diesem Falle eine StringGridTabelle) in
der Unit1 zugreifen kann.
Wenn ich in Unit2 schreibe: Form1.Tabelle.Cells[0,0] := 'Test';

kommt Fehlermeldung "Undeclared identifier: 'Form1'

Vielen Dank für Eure Hilfe


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am So 11.10.2009 um 23:02
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19335
Erhaltene Danke: 1751

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 11.10.09 09:51 
Hallo und :welcome:

Dann musst du die erste Unit auch wieder in die uses der zweiten schreiben, genauer gesagt unterhalb von implementation. Dadurch umgehst du einen Kreuzbezug, der entsteht, wenn du beide unter interface in die uses schreibst.

Du solltest aber dringend dein Konzept überdenken. Wenn du sauber zwischen Darstellung, Logik usw. trennen würdest, hättest du das Problem nicht. Wenn in der zweiten Unit etwas mit den Daten passieren soll, dann übergib die lieber auch dorthin usw., dann ist das auch sauber umgesetzt.
Graveslayer Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: So 11.10.09 10:12 
Super, Vielen Dank für die schnelle Antwort.
Genau, mein Problem war der Kreuzbezug unter den Units.
Wenn ich jetzt aber uses unit1 unter implementation schreibe funktioniert es.
Nochmals vielen vielen Dank!