Referenz auf Texteigenschaft von TEdit
-
Hi,
ich bin schon teilweise am verzweifeln, oder es ist schlicht und einfach nicht
moeglich. Ich habe folgende Funktion:void Function ( AnsiString *Tmp ) { Tmp -> Delete ( 0, Tmp -> Length () ); }
Das die Funktion noch auf Gueltigkeit von Tmp und so pruefen sollte ist klar,
ist nur zur Verdeutlichung.Ich habe nun eine Instanz vom Typ 'TEdit' und will deren 'Text'-Eigenschaft
der Funktion als Parameter mitgeben, um obigen Code auszufuehren://in irgendeinem OnClick-Ereignis (oder sonst irgendwas) Function ( &(TEdit -> Text) );
Der obige Code bewirkt jedoch gar nichts. Ein anderes Mal habe ich Testweise
eine Referenz auf einen AnsiString angelegt und bekomme dann die folgende
Warnung:[C++ Warning] Unit1.cpp(29): W8028 Temporary used to initialize 'Ref'
Der Code sah folgendermassen aus:
AnsiString &Ref = TEdit1 -> Text;
Ich habe in der Hilfe nachgelesen und musste feststellen, dass o. Fehlermeldung
dann auftritt, wenn die Typen von 'Ref' und der Eigenschaft nicht ueberein-
stimmen.Aber 'TEdit1 -> Text' ist doch ein AnsiString, warum funktioniert o. dann nicht?
Warum funktioniert o. Funktion nicht?Danke schon mal im Voraus!
mfg
v R
-
hallo,
ich vermute das die probleme daher rühren, da text eine property ist. ausserdem beginnt meines wissens bei delete der index mit 1.
void TForm1::Function ( AnsiString *Tmp ) { Tmp -> Delete (1, Tmp -> Length () ); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { String Test = Edit1->Text; Function(&Test); Edit1->Text = Test; }
gibt bestimmt noch andere möglichkeiten...
mfg
murph
-
Hi,
so ist es leider fuer mich nicht moeglich.
Folgender Hintergrund:
In unserem Produkt haben wir eine sogenannte 'FieldList' in der wir eine Liste
von sogenannten 'FieldDef' enthalten haben. Diese sollen die 'AnsiString'-Objekte
von verschiedenen 'TEdit' oder anderen Objekten beinhalten, damit wir in einer
Schleife bequem per 'FieldList -> FieldDef -> Fld =' dem 'AnsiString'-Objekt
etwas zuweisen koennen.Es ist ein bisschen schwer, das genauer zu beschreiben. In diesen 'FieldDef'
ist neben dem 'AnsiString'-Objekt auch noch enthalten, ab welchem Offset bis
zu welchem Offset Daten von einem Puffer (welcher durch Datenbankabfragen
gefuellt wird) in das entsprechende 'AnsiString'-Objekt geschrieben werden
sollen. Ausserdem auch noch weitere Informationen zum Datentyp (wir haben
weitere Typen in unserem Produkt erstellt, die wir benoetigen), um entsprechende
Umwandlung vor dem zuweisen durchzufuehren.Wenn ich allerdings keine Referenz auf eine Eigenschaft erstellen kann, muss ich
mir wohl irgendetwas anderes ueberlegen.Danke fuer die Antwort.
mfg
v R