Ich habe gerade mal versucht eine Textdatei, die als Ressource eingebunden ist mit
TResourceStream zu laden. Über die ID geht es wunderbar, nur über den Namen nicht.
Delphi-Quellcode:
{$R resource.res}
function LoadTextFromResourceByName(ResourceName: ansiString): AnsiString;
var
ResourceStream:
TResourceStream;
begin
ResourceStream :=
TResourceStream.Create(HInstance, ResourceName, RT_RCDATA);
try
try
SetLength(Result, ResourceStream.Size);
ResourceStream.ReadBuffer(Result[1], ResourceStream.Size);
except
raise;
end;
finally
ResourceStream.Free;
end;
end;
function LoadTextFromResourceByID(ResourceID: Cardinal): AnsiString;
var
ResourceStream:
TResourceStream;
begin
ResourceStream :=
TResourceStream.CreateFromID(HInstance, ResourceID, RT_RCDATA);
try
try
SetLength(Result, ResourceStream.Size);
ResourceStream.ReadBuffer(Result[1], ResourceStream.Size);
except
raise;
end;
finally
ResourceStream.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
try
//Memo1.Text := LoadTextFromResourceByID(100);
Memo1.Text := LoadTextFromResourceByName('
ExcludeList');
except
on E:
Exception do
ShowMessage(E.
Message);
end;
end;
Code:
#define ExcludeList 100
ExcludeList RCDATA DISCARDABLE "exclude.lst"
Kann mir bitte jemand sagen, was ich da falsch mache?
Entwicklungsumgebung ist Delphi 7.