Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Sender in der prozedur ansprechen?
pyto - Mi 07.04.10 09:28
Titel: Sender in der prozedur ansprechen?
Hi,
Ich habe folgendes Problem:
Ich habe einen Quellcode, der zwei Listboxen füllt. Den Wert der einen, soll er sich aus der Caption des Senders ziehen.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure Tbestellsystem.bestellen(Sender: TObject); var name:string; preis:integer; begin; name:=sender.caption; ADOQuery1.SQL.Clear(); ADOQuery1.SQL.Add('SELECT Preis FROM Gerichte WHERE kurz=' + Quotedstr(name)) Preis:= ADOQuery1.fieldbyname('Preis').AsInteger boxnam.Items.Add(name) boxpreis.Items.Add(inttostr(preis)) end; |
als Fehler meint er 'undefinierter bezeichner: Caption' und zeigt auf die Zeile
name:=sender.caption;.
Wo ist das Problem???
Vielen Dank im Vorraus
Narses - Mi 07.04.10 09:30
Moin!
pyto hat folgendes geschrieben : |
als Fehler meint er 'undefinierter bezeichner: Caption' und zeigt auf die Zeile name:=sender.caption;. |
Das liegt daran, dass Sender vom Typ TObject (dem Vorfahren aller Objekte in Delphi) ist. Dieses Ur-Objekt kennt diese Eigenschaft nicht.
pyto hat folgendes geschrieben : |
Wo ist das Problem??? |
Du musst einen Typecast auf den Typ (oder die Typenklasse als Vorfahr) machen, die diese Eigenschaft kennt. :idea:
cu
Narses
pyto - Mi 07.04.10 11:17
Vielen Dank,für die Antwort(etwas verwirrend aber gut :? )
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!