Einzelnen Beitrag anzeigen

SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#3

Re: UpdateResource String auslesen

  Alt 18. Mai 2010, 16:53
Bei FindResource muss man irgendwie mit ner .rc Datei arbeiten etc , da blick ich nich wirklich durch.

Also mein Problem liegt im mom darin.

Ich habe ja nun eine .exe in der die ganezn befehle stehen.
Und ganz am Ende steht dann mein Text, so stelle ich mir das vor.

Gibt es den nicht irgenwo nen guts Tut was sich damit befasst?
Irgenwie finde ich da nichts richtiges.

Ich schaue aber mal weiter ^^



Edit:

So hab da jetzt mal was gefunden.
Der Code von meiner .exe, die den Text wieder ausgeben soll sieht jetzt so aus:

Delphi-Quellcode:
function GetResourceAsPointer(ResName: pchar; ResType: pchar; out Size: longword): pointer;
var
InfoBlock: HRSRC;
GlobalMemoryBlock: HGLOBAL;
begin
InfoBlock := FindResource(hInstance, resname, restype);
size := SizeofResource(hInstance, InfoBlock);
GlobalMemoryBlock := LoadResource(hInstance, InfoBlock);
Result := LockResource(GlobalMemoryBlock);
end;

function GetResourceAsString(ResName: pchar; ResType: pchar): string;
var
ResData: PChar;
ResSize: Longword;
begin
ResData := GetResourceAsPointer(resname, restype, ResSize);
SetString(Result, ResData, ResSize);
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := GetResourceAsString(pchar('Text'), RT_RCDATA);
end;

end.


Aber Wenn ich als Text "Test" eingebe, bekomme ich "Te偔う" ausgegeben.
Warum das?
  Mit Zitat antworten Zitat