Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Text mit TResourceStream laden

  Alt 14. Apr 2011, 10:28
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.
Angehängte Dateien
Dateityp: zip TResourceStreamTextRCDATA.zip (6,5 KB, 17x aufgerufen)
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat