Hallo,
ich habe ein kleines Problem und die Delphi-Hilfe hat mir gar nicht geholfen. Ich benutze Delphi 7.
Ich habe auf einem Formular eine ComboBox mit ein paar Items drin, und einen Button. Beim Klick auf den Button soll das momentan ausgewähle Item gelöscht werden.
Dazu habe ich mir die Delphihilfe angeguckt und bin auf folgenden Hilfe-Artikel gestoßen:
Zitat: |
Die Methode Delete löscht den String mit dem angegebenen Index.
Delphi-Syntax:
procedure Delete(Index: Integer); override;
C++ Syntax:
virtual void __fastcall Delete(int Index);
Beschreibung
Mit Delete können Sie einen bestimmten String aus der Liste löschen. Wenn dem String ein Objekt zugeordnet ist, wird auch die Referenz auf das Objekt entfernt. Index ist die Position des Strings in der Dropdown-Liste, wobei 0 der erste String ist, 1 der zweite usw. |
Also habe ich in die OnClick-Prozedur meines Buttons geschrieben:
Delphi-Quelltext
1:
| Delete(ComboBox1.Items[i]); |
Das gibt mir den Fehler "Nicht genug wirkliche Parameter". In der Hilfe steht aber kein Hinweis, wie die Syntax korrekt lautet. Auch als ich override; ergänzt habe, funktionierte es nicht. Wie schreibe ich das richtig?
Profisorisch habe ich mir dann geholfen mit:
Delphi-Quelltext
1:
| ComboBox1.DeleteSelected; |
Mein Problem hier: Wenn ich auf den Button klicke, passiert nichts! Erst wenn ich mit dem Mauszeiger über die ComboBox fahre, wird das Item gelöscht. Es soll aber sofort bei Klick auf den Button gelöscht werden! Wie mache ich das?
Vielen Dank im Vorraus, und sorry für zwei Fragen, aber ich fand die so ähnlich, dass ich nicht zwei Threads dafür aufmachen wollte.