Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6

Re: Property "Objects" im Stringgrid

  Alt 10. Jan 2005, 01:10
In dem Beispiel gehts nicht recht weiter. 8) Es waren einige Schreibfehler drin und hiermit gehts auch nicht. Wo muß ich "editable" besetzen ? AddObjectToGrid, wo muß das hin ? Im Moment erhalte ich nur Zugriffsverletzungen.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids;

type TMyObject = class(TObject)
  private
    Editable : boolean;
end;

  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
  private
    { Private-Deklarationen }
    Editable : boolean;
    MyObject : TMyObject;
  public
    { Public-Deklarationen }
    procedure AddObjectToGrid(ACol, ARow : integer; Editable : boolean);
    function TestForEdit(ACol, ARow : integer):boolean;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.AddObjectToGrid(ACol, ARow : integer; Editable : boolean);
var
  MyObject : TMyObject;
begin
  MyObject := TMyObject.Create;
  MyObject.EditAble := EditAble;
  Form1.StringGrid1.Objects[ACol, ARow] := MyObject;
end;

function TForm1.TestForEdit(ACol, ARow : integer):boolean;
begin
  MyObject := TMyObject(Stringgrid1.Objects[ACol, ARow]);
  result := MyObject.EditAble;
end;

procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  if TestForEdit (ACol,ARow) = true then
    showmessage ('zulässig')
  else
    showmessage ('nicht zulässig');
end;

end.
Gruß
Hansa
  Mit Zitat antworten Zitat