Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
Delphi 10.1 Berlin Professional
|
Re: Benachrichtigung bei Änderung an übergeordnete Elemente
25. Nov 2005, 20:27
hmm, das ist auch noch ne gute Idee.
Das mit den Ereignissen / Owner lasse ich wieder. Das würde bedeuten, daß ich in jeder zelle die Zellposition und ein Notifyevent/Owner-kompo hinterlegen muß. Das ist mir zuviel Speicher. Außerdem müßte ich dann bei jedem Sortieren und Löschen von Zeilen die Zellpositionen aller Zellen aktualisieren, das wird wohl nix werden.
momentan schwanke ich zwischen:
Variante1 (wie sh17):
das Grid hat die propertys CellValueAsString[x,y], CellValueAsFloat[x,y], CellValueAsInteger[x,y] ...
dann habe ich die Set-methode im Grid und kann die dort das Neuzeichnen der Zelle veranlassen. Die Set und Get-methoden verweisen dann auf die entsprechenden property des hinterlegten Cellvalue-Objekts.
Was mir daran nicht so richtig gefällt, ist die Logik beim zuweisen/abfragen der Werte. Grid.Zelle[x,y].as??? finde ich logischer als Grid.ZelleAs???[x,y]. Außerdem brauch ich dann für jede Property von Cellvalue auch eine entsprechende Property im Grid. Und eigentlich muß das Grid nicht wissen, welche Property Cellvalue bereitstellt.
Variante 2:
es gibt nur eine CellValue[x,y]-property. Das TCellvalue hat noch ein Bool-Feld, das true gesetzt wird, wenn sich die Zelle geändert hat. Bei det GetCellValue-Methode wird am Ende der Boolean-wert abgefragt, die Zelle neugezeichnet und der Bollean wieder false gesetzt.
Somit habe ich nur einen Bool, den ich zusätzlich hinterlege und ein paar Zuweisungen mehr im code.
Aber was nu wirklich am Besten ist, weiß ich immer noch nicht.
Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
|