Hallo,
ich brauche für eine Anwendung ein DBGrid, in dem ich die Datenzeilen vom User verschieben lassen kann. Da ich im Netz nix derartiges gefunden habe dachte ich ok -> selber machen. Sollte nicht so schwierig sein, da die dafür nötigen Sachen schon in TCustomGrid drinnen sind.
Das Problem ist, daß ich das Verschieben erstmal erlauben müßte in TCustomGrid.Options, aber im TCustomDBGrid Options mit einer neuen Eigenschft überschrieben / verdeckt wird. Also hab ich versucht, die unter anderem Namen wieder sichtbar zu machen:
Delphi-Quellcode:
TEDBGrid = class(TCustomDBGrid)
protected
procedure SetGridOptions(Options: TGridOptions);
function GetGridOptions(): TGridOptions;
...
published
property GridOptions: TGridOptions read GetGridOptions write SetGridOptions;
...
end;
...
procedure TEDBGrid.SetGridOptions(Options: TGridOptions);
begin
TCustomGrid(Self).Options := Options;
end;
function TEDBGrid.GetGridOptions(): TGridOptions;
begin
Result := TCustomGrid(Self).Options;
end;
Aber bei dem Typecast bringt mir Delphi die Fehlermeldung "[Fehler] Dbgrid.pas(281): Undefinierter Bezeichner: 'Options'". Sollte die Kindklasse aber nicht Zugriff auf die protected-Eigenschften des vorfahren haben? Und an die Methode / Eigenschft ranzukommen, die in TCustomGrid verwendet wird, erscheint mir noch schwieriger, da die beide als private deklariert sind.
Hat jemand eine Idee?