Textbox als Zeiger oder Referenz übergeben

Ralf83

Grünschnabel
Hallo,

ich bin noch Anfänger im Bereich c++. Ich nutze zur Zeit die Entwicklungsumgebung Borland c++ Builder 6.
Ich möchte eine Textbox (Edit1->Text) in einer Funktion ändern, aber ohne diese direkt anzusprechen.

Ich habe mich jetzt schon ne ganze Zeit auseinander gesetzt, aber ich bekomme es nicht hin der Funktion die Textbox als Zeiger zu übergeben.


Hier mal ein paar schnipsel:

int read_text (int adr, int type, LPTSTR object) {
lstrcpy(object, "TEST");
return 0;
}

void __fastcall TForm1::config_loadClick(TObject *Sender)
{
read_text (0, 1, Edit1->Text);
}

Es kommt zwar keine Fahlermeldung aber es ändert sich auch nichts?

Was mache ich falsch?


Gruß
Ralf
 
Du übergibst den Zeiger by value ... musst ihn aber dereferenzieren können bevor du was zuweisen kannst was außerhalb der Funktion noch sichtbar sein soll oder du nutzt referenzen:

Referenz:
C++:
void read_text(const int adr, const int type, LPTSTR& object) 
{
     lstrcpy(object, _T("TEST"));
    }

Doppelzeiger:
C++:
void read_text(const int adr, const int type, LPTSTR* ptr_object)
{
    lstrcpy(*ptr_object, _T("TEST"));
}
...
 
Wenn ich es als Doppelzeiger versuche, kommen beim Compilieren schon Fehlermeldungen und bei der Variante als Referenz ändert sich nichts in dem Textfeld. Fehler gibt es allerdings auch nicht.
Habe ich da noch was falsch gemacht?
 
Zurück