Ihr Code (was ich vermute, unterscheidet sich von dem in der Frage) nicht die richtige Syntax, das ist, was der Compiler sagt Ihnen.
Die Tatsache, dass es wahrscheinlich aussieht, dass Ihr Code von dem Code in der Frage unterscheidet, und dass wir nicht sagen können, ob Sie VCL oder FMX verwenden, macht diese Frage etwas zweifelhaft. An einem anderen Tag würde ich wahrscheinlich als Off-Topic abstimmen, aber heute werde ich unabhängig davon weitermachen, was wahrscheinlich unklug ist. Hier geht.
Der Code in der Frage ist (fast) gültige VCL-Code. Es gibt ein extra end
und ich kann nur vermuten, dass es sich um einen Übertragungsfehler handelt. Offensichtlich sieht dein tatsächlicher Code nicht so aus, weil du nicht so einrücken würdest.
Ihr Code ist kein gültiger FMX-Code, selbst nachdem der streunende end
entfernt wurde. Die Compiler-Objekte Selected[ii]
mit:
[DCC32 Fehler]: E2149-Klasse nicht über eine Standardeigenschaft
Das ist ein anderer Fehler von dem Sie gemeldet. Der Grund für den Fehler ist, dass Selected
eine nicht indizierte Eigenschaft des Typs TListBoxItem
ist.
Ich denke, was wirklich los ist, ist, dass der Code in der Frage unterscheidet sich von dem Code, den Sie versuchen zu kompilieren. Und der Code, den Sie versuchen zu kompilieren, ist nicht gültig. Wenn der Compiler Ihnen sagt, dass Ihr Code ungültig ist, sollten Sie es als Regel annehmen, auch wenn Sie ihn nicht sofort verstehen.
Ihr Leben wird viel einfacher, wenn Sie aufhören, with
zu verwenden. Every time you use with
, a puppy dies. Darüber hinaus wird Ihr Namespace mit oft überraschenden und unvorhersehbaren Ergebnissen erweitert, da Namen aus dem inneren Namensraum diejenigen aus dem äußeren Namensraum ausblenden.
Während es klar ist, dass -1 + Items.Count
das gleiche wie Items.Count - 1
ist, müssen Sie weit und weit suchen, um einen Programmierer zu finden, der erstere schreiben würde. Du könntest es weiterhin tun, aber du wirst gegen die Flut schwimmen. Ihr Code wird sich von allen anderen Codes unterscheiden, und es wird eine große Impedanz für alle anderen Leser Ihres Codes geben. Ich schlage vor, dass Sie mit dem Fluss auf diesem gehen.
Auf welcher Leitung landet der Debugger? –
Dieser Code funktioniert perfekt für mich: 'var i: Integer; Beginne für i: = ListBox1.Items.Count - 1 bis 0 tun, wenn ListBox1.Selected [i] dann ListBox1.Items.Delete (i); Ende; '. –
Das Problem ist mit ** Ausgewählt [ii] ** – Dominikis