Moin Raik,
meine Aussage bezog sich hierauf:
Zitat von
Hansa:
...spricht etwas dagegen, pro Zelle ein Object mit 5 Bool-Werten anzulegen...
wenn es sich ausschliesslich um boolsche Werte handelt, so lassen sich diese ja in fünf Bits darstellen.
Der Pointer den ein TObject darstellt ist 32-Bit gross, kann also sogar 32 derartige Werte enthalten.
Man muss ja nicht zwingend ein Objekt erzeugen, um den Pointer mit einem Wert zu füllen.
Beispiel (ein wenig auf Hansas Postings bezogen)
Delphi-Quellcode:
const
_iEditable = $00000001; // Zelle ist editierbar
_iScanned = $00000020; // Zelleninhalt wurde gescannt
_iColorRed = $00000040; // Zelle soll rot sein
//...
// Den Pointer mit den beiden Bits belegen
sgNr.Objects[ACol, ARow] := TObject(_iEditable or _iScanned);
Jetzt enthält das Objekt der Zelle die zwei boolschen Werte (gesetzt), ohne dass ein Objekt erzeugt wurde.
Im Beispiel ist jetzt für die Zelle hinterlegt, dass sie editierbar ist, und das ihr derzeitiger Wert durch Scannen erzeugt wurde.
Sie soll nicht rot eingefärbt werden.