![]() |
String als Object in StringGrid-Zelle speichern
Hallo,
wie kann man einen String in einer StringGrid-Zelle als Object speichern? Ich habs so probiert:
Delphi-Quellcode:
und
StringGrid.Objects[0, 0] := Pointer('ID_TEXT_VersionInfo_Applikation');
Delphi-Quellcode:
Aber beides funktioniert nicht.
StringGrid.Objects[0, 0] := String('ID_TEXT_VersionInfo_Applikation');
Wie könnts gehen? |
Re: String als Object in StringGrid-Zelle speichern
|
Re: String als Object in StringGrid-Zelle speichern
Danke für den Tip mit PChar.
Ich habs nun so gelöst: Schreiben:
Delphi-Quellcode:
Auslesen:
StringGrid.Objects[0, 0] := Pointer(PChar('ID_TEXT_VersionInfo_Applikation'));
Delphi-Quellcode:
S := String(PChar(StringGrid.Objects[0, 0]));
|
Re: String als Object in StringGrid-Zelle speichern
Delphi-Quellcode:
Nur beachte, daß du, wenn du das Objekt nicht mehr brauchst, es freigibst. Nicht einfach neu zuordnen.
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;
Delphi-Quellcode:
var
Test: TTest; begin Test := TTest(StringGrid1.Objects[1, 1]); Test.Free; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz