ein kleiner Test lädt zwar meine
DFM-Resource aber ich bekomme nur 2 Zeilen ausgegeben und die noch mit falschen Zeichen:
Wie schon erwähnt wurde, liegen die DFMs binär in der EXE. Man muss das also erst in Text umwandeln:
Delphi-Quellcode:
// DFM-Resource laden
function LoadTextFromResourceByName(ResourceName:
string):
string;
var
ResourceStream: TResourceStream;
StringStream: TStringStream;
begin
if (FindResource(hInstance, PChar(ResourceName), RT_RCDATA) <> 0)
then
begin
ResourceStream := TResourceStream.Create(hInstance, ResourceName,
RT_RCDATA);
try
StringStream := TStringStream.Create;
try
ObjectBinaryToText(ResourceStream, StringStream);
Result := StringStream.DataString;
finally
StringStream.Free;
end;
finally
ResourceStream.Free;
end;
end;
end;