Um einen Text, der in einer Resource gespeichert ist, zu verwenden, muß ich ihn natürlich zuerst einmal auslesen. Das kann so geschehen:
Code: Alles auswählen
procedure TForm1.LadeSzene;
var
rs: TLazarusResourceStream;
ResDa : TLResource;
begin
Szene := 'S1';
ResDa := LazarusResources.Find(Szene);
if ResDa <> nil then
begin
rs := TLazarusResourceStream.Create(Szene, 'TXT');
StoryMemo.Lines.LoadFromStream(rs);
rs.Free;
end;
end;
Allerdings will ich ihn nicht in einem Memo darstellen, sondern wegen der besseren Flexibilität in einer StringList ablegen. Leider funktioniert das in der nachfolgend dargestellten Weise nicht.
Code: Alles auswählen
procedure TForm1.LadeSzene;
var
rs: TLazarusResourceStream;
ResDa : TLResource;
SzeneStringList : TStringList;
begin
SzeneStringList := TStringList.Create;
Szene := 'S1';
ResDa := LazarusResources.Find(Szene);
if ResDa <> nil then
begin
rs := TLazarusResourceStream.Create(Szene, 'TXT');
SzeneStringList.LoadFromStream(rs);
rs.Free;
end;
end;
Es ist nicht so, daß das Programm an irgendeiner Stelle meckert, sondern alles wird schön ausgeführt, aber zum Schluß ist die StringList leer. Leider komme ich nicht drauf, was hier schief läuft, und frage deshalb hier, wie ich einen Resourcen-Text in eine StringList übernehmen kann.
Gruß,
Adrian