Zitat von
Christian Seehase:
...bis zu 32 boolsche Werte kannst Du auch direkt dort speichern, ohne ein Objekt haben zu müssen...
Wo ? Was meinst Du damit ?
Delphi-Quellcode:
procedure TfrmEin.ChangeEditObjectEditable (ACol, ARow : integer;
Editable : boolean);
begin
if sgNr.Objects[ACol, ARow] <> nil then begin
EditObject := TEditObject (sgNr.Objects[ACol, ARow]);
EditObject.Editable := Editable;
sgNr.Objects[ACol, ARow] := EditObject;
end;
end;
So geht das ganze offensichtlich. Es geht hier darum, eine Eigenschaft des StringGrid-Objektes nur zu verändern unter der Vorrausetzung, daß es schon da ist. 8) Allerdings habe ich andere Aussagen gelesen, daß die Zeile :
EditObject := TEditObject (sgNr.Objects[ACol, ARow]);
Besser gesagt, eine Zuweisung an das Objekt nicht nötig sei, da es ohnehin an die Zelle gebunden ist. Das Object sieht so aus :
Delphi-Quellcode:
TEditObject = class(TObject)
public
Editable : boolean;
...
end;
Der Typecast hier :
EditObject := TEditObject (sgNr.Objects[ACol, ARow]);
ist mir im Zusammenhang auch noch nicht vollständig klar.
Wer weiß mehr ? Das Ding ist schon wichtig, aber ich denke schon daran, daß nicht mehr rauskommt als hier :
http://www.delphipraxis.net/internal...ect.php?t=4012
http://www.delphipraxis.net/internal...t=objektablage
Ist zwar schon länger her, aber mittlerweile alles voll im produktiven Einsatz. Dem Thema hier droht wohl dasselbe Schicksal.