Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#4

Re: String als Object in StringGrid-Zelle speichern

  Alt 28. Jun 2009, 00:54
Delphi-Quellcode:
type
  TTest = class // Eine einfache Klasse
    Str: String;
  end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Test: TTest;
begin
  Test := TTest.Create; // Objekt erstellen.
  Test.Str := 'Hallo Welt!';

  StringGrid1.Objects[1, 1] := Test; // Die Adresse auf das Objekt übergeben
    // Test nicht freigeben, da Objekt ja bestehen bleiben soll

  StringGrid1.Cells[1, 1] := 'Hier ist was drin.';

    // Ein weiterer Wert für eine andere Zelle
  Test := TTest.Create;
  Test.Str := 'E = m * c²';

  StringGrid1.Objects[2, 2] := Test;

  StringGrid1.Cells[2, 2] := 'Hier auch.';
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  Test: TTest;
begin
  Test := TTest(StringGrid1.Objects[1, 1]); // Übergeben
    // Test kann jetzt wieder normal genutzt werden.

  ShowMessage(Test.Str);


  Test := TTest(StringGrid1.Objects[2, 2]);

  ShowMessage(Test.Str);
end;
Nur beachte, daß du, wenn du das Objekt nicht mehr brauchst, es freigibst. Nicht einfach neu zuordnen.

Delphi-Quellcode:
var
  Test: TTest;
begin
  Test := TTest(StringGrid1.Objects[1, 1]);
  Test.Free;
  Mit Zitat antworten Zitat