Zugriff auf Variable in anderer Unit
-
Hallo
was verstehst du denn nicht an dem Beitrag ?
Zugriff ueber Properties oder den ersten Beitrag
hast du dir das mal genau angeschaut und ausprobiert
ein wenig Spielen hilft da meist weiterMfG
Klaus
-
zugriff über properties.
ich habs auch mal probiert aber ich habs nicht hingebracht...
habs jetzt halt mal so gemacht wie BW vorgeschlagen hat.
-
Ich nehme jetzt mal an, dass Deine beiden Units Formulare darstellen. Wenn es anerst ist funktioniert folgendes nicht:
Soweit ich mich erinnere funktioniert das so:
Du inkludierst den Header von Unit2 in Unit1. Dann kannst Du in Unit1 über Form2->variablenName auf die entsprechenden Membervariablen bzw. über Form2->methodenName(parameterliste) auf die entsprechenden Methoden zugreifen. Das setzt natürlich voraus, dass alles was Du so ansprichst als public deklariert ist.
-
KnownUnknown schrieb:
Das setzt natürlich voraus, dass alles was Du so ansprichst als public deklariert ist.
Wobei man sich vorher den Artikel in der FAQ zum Thema Public-Variablen durchgelesen haben sollte...
hab zwar im FAQ das thema "Variablenübergabe an andere Form" gelesen, doch irgendwie hab ich das überhaupt nicht kapiert...
So eine Aussage ist etwa so nützlich wie wenn jemand kommentarlos www.google.ch postet...
Ergötze uns doch an Details was du nicht verstanden hast. So kann man daraus auch lernen und sehen wo Usern der Schuh wirklich drückt. Was nutzt es, hilfe anzubieten, wenn man gar nicht weiss, wo eigentlich das Problem steckt?
-junix
-
@KnownUnknown
Vielen Dank, so wie es du beschrieben hast funktioniert es bestens!
Ja ich weiss, meine Beschreibung ist voll scheisse, sorry dass ich so eure zeit verschwende.
ich weiss nicht wie ichs sagen soll wo das problem liegt. als ich den beitrag im FAQ gelesen habe, kam ich einfach hinten und vorne nicht draus, ich bin wohl einfach zu blöd um zu programmieren. ich könnte ja nicht mal die unterschiede zwischen c und c++ nennen.
-
GaZmo schrieb:
ich weiss nicht wie ichs sagen soll wo das problem liegt. als ich den beitrag im FAQ gelesen habe, kam ich einfach hinten und vorne nicht draus,
Dann fang mal damit an WO DU NICHT DRAUSGEKOMMEN BIST! Das ist wie früher ind er Schule. Wenn du dem Lehrer sagst "ich schnalls nicht" kann er dir auch nicht wirklich weiter helfen.
-junix
-
// Unit1.h private: int Zaehler; // Unit2.h private: int fZaehler; protected: void __fastcall SetZaehler(int); public: __property int Zaehler = {read = fZaehler , write = SetZaehler}; // Irgendwo in Unit1.cpp // (nicht vergessen, Unit2.h mit einzubinden) Form2->Zaehler = Zaehler; Form2->Show(); // Unit2.cpp void __fastcall TForm2::SetZaehler(int zaehler) { fZaehler = zaehler; // und möglicherweise noch anderes Zeugsbeispielsweise diese zeile...
... public: __property int Zaehler = {read = fZaehler , write = SetZaehler}; ...... kapiere ich überhaupt nicht, also was "{read = fZaehler , write = SetZaehler}" bedeutet
-
Was sagt denn wohl die Hilfe über __property?
-
sorry, aber aus der Hilfe dazu werde ich kein bisschen schlauer.
ich kapiere weder wozu das gut sein soll, noch wie ich das richtig anwende.
naja ich will dich nicht weiter stören und mache jetzt besser feierabend.
-
Kurz zusammenfassend:
Property sagt dem Compiler welche Get- bzw. Setmethoden er bei einem Zugriff auf die Eigenschaft aufrufen soll.-junix