Frage: Zugrif auf Variablen eines Objekts extendet

Tasm-Devil

Erfahrenes Mitglied
Hallo Leute,
sind viele neue hier - find ich gut. ;)
Aber nun zu meiner Frage:

Ich schreib zwar schon seit etlich langer Zeit mim Borland C++ Builder aber jetzt wird es Zeit ein elementare Frage für mich zu klären:

Un zwar möchte ich das an einem Beispiel zeigen
mit:
Edit1->Top;
greife ich auf eine Variable von Edit1 zu. Wenn ich jetzt aber auf Edit[x] zugreifen will (Zeiger-Array mit ner menge Adressen von Edits) und ich nicht weis was x ist. z.B.

Code:
void __fastcall TForm1::Edit01MouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
Edit[x]-Top 
/* x soll in diesem fall 1 sein und wenn diese Funktion von Edit02 ausgeführt wird soll x 2 sein*/
}

Woher kriege ich jetzt heraus wie z.B. die Adresse des Edits ist das diese Funktion aufruft?

Ich weiß es ist nicht leicht zu verstehen was ich hier will aber ich hoffe mir kann jemand helfen.

P.S. Kann es was mit this oder *Sender zu tun haben
 
Hää?

Du hast recht, das ist nicht leicht zu verstehen, was Du möchtest, zumindest für mich. Was ist Edit1 denn genau für ein Typ?
 
Ich will einfach nur wissen wie ich auf Elementfunktionen und Variablen von der Klasse komme, die eine _fastcall Anweisung aufruft. Ich will quasi wissen wer hast diese Funktion aufgerufen und möchte an dem Objekt was vergleichen oder verändern.

Also ein Edit ist im Borland ein Editierfeld, wo man was rein schreiben kann. Ich hab 81 Stück davon in meinem Programm und weil ich nicht für jedes die Funktion kopieren will, will ich eine für alle schreiben. Nur ich muss wissen von welchen Edit die Funktion aufgerufen wurde und dann an dem Edit mir n par Eigenschaften anschauen, die dann die Funktion verarbeitet. Das muss einer hier wissen. Ich hab nur so ne Ahnung das es mit dem automatisch erstelltem Zeiger *Sander was zu tun hat. Der hat nämlich die gleiche Adresse wie das Edit aber da von Typ TObject ist, eben nicht alle Eingenschaften wie das Edit.

Weiß einer weiter?
 
Sender ist das Obejct welches die Methode aufgerufen hat. Wenn du Methoden von TEdit benötigst noch mit dynamic_cast<> casten.
 
OK danke ich habs. Aber ich wusste dieses mal echt nicht wonach ich da bei google googeln könnte. Danke mann

Mein Ansatz ist jetzt:
dynamic_cast<TEdit*>(Sender)->Irgendwas_was_mein_Edit_auszeichnet
 
Zurück