![]() |
E2362 Auf protected-Symbol TCustomGrid.DeleteRow kann nicht zugegriffen werden
Moin,
obige Fehlermeldung Zitat:
Ich wollte eigentlich nur folgendes machen:
Code:
um eine Zeile in einem StringGrid eine Zeile zu löschen.
if strngrd1.Row >= strngrd1.FixedRows then strngrd1.DeleteRow(strngrd1.Row);
Aber, schon in der IDE wird
Code:
als fehlerhaft gekennzeichnet.
.DeleteRow
In den Tipps im WWW zum Thema Zitat:
Code:
genutzt.
.DeleteRow
Ist das jetzt ein XE7 Problem? Wie umgehe ich das Problem? Gruß Heiko |
AW: E2362 Auf protected-Symbol TCustomGrid.DeleteRow kann nicht zugegriffen werden
Hast du schon in die Dokumentation geschaut?
Warum nicht? F1 kaputt, Internet kaputt, Brille kaputt? |
AW: E2362 Auf protected-Symbol TCustomGrid.DeleteRow kann nicht zugegriffen werden
Hallo,
mit
Delphi-Quellcode:
bekomme ich die Zeilen wie gewünscht gelöscht.// Quelle: [URL="http://stackoverflow.com/questions/16351109/how-do-i-delete-a-tstringgrid-row"]http://stackoverflow.com/questions/16351109/how-do-i-delete-a-tstringgrid-row[/URL] procedure DeleteRow(Grid: TStringGrid; ARow: Integer); var i: Integer; begin for i := ARow to Grid.RowCount - 2 do Grid.Rows[i].Assign(Grid.Rows[i + 1]); Grid.RowCount := Grid.RowCount - 1; end; Auch diesen Trick habe ich gefunden:
Delphi-Quellcode:
Nur scheint der anstatt wirklich zu löschen die entsprechenden Zeilen nur aus dem definierten Bereich der Tabelle zuverschieben.
type
THackGrid=class(TCustomGrid); [...] THackGrid(strngrd1).DeleteRow(zeile); Wenn
Code:
z.B. erst 6 ist, dann zwei Zeilen damit gelöscht werden und man dann
RowCount
Code:
auf 8 erhöht, dann tauchen dort die gelöschten Inhalte wieder auf :?
RowCount
Aber, warum ist bei dem einfachen
Delphi-Quellcode:
das ich auf das Formular ziehe, das Löschen gesperrt.
TStringGrid
Ich habe keine Option zum Entsperren gefunden. Aber was nützt eine Option die nicht nutzbar ist? Gruß Heiko |
AW: E2362 Auf protected-Symbol TCustomGrid.DeleteRow kann nicht zugegriffen werden
Zitat:
Zitat:
Zitat:
Zitat:
|
AW: E2362 Auf protected-Symbol TCustomGrid.DeleteRow kann nicht zugegriffen werden
'protected' heißt nicht 'gesperrt', sondern 'geschützt'. Und zwar geschützt gegen Aufrufe von außen. Vermutlich weil DeleteRow so komisch umgesetzt wurde, haben sich die Entwickler gedacht:"Na, lieber nicht öffentlich machen, sonst kommt ein Programmierer vielleicht auf die Idee, das Grid zur Datenhaltung zu missbrauchen, anstatt es nur zur Darstellung von Information zu benutzen". Nur so ne Idee.
|
AW: E2362 Auf protected-Symbol TCustomGrid.DeleteRow kann nicht zugegriffen werden
N'abend,
Zitat:
Zitat:
Dann mache ich das also lieber für die Procedure die ich weiter oben gepostet habe. Schönen Abend noch. Gruß Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz