moin
hab wieder mal ein updateresource problem
ich schreibe mit folgendem code 2 strings in eine exe....
Delphi-Quellcode:
test1 := 'blabla';
test2 := 'huhu';
pResourceID := MakeIntResource('test1');
if not UpdateResource(hInst, RT_STRING, pResourceID, MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL), PWideChar(test1), Length(test1)) then
MessageDlg(SysErrorMessage(GetLastError), mtError, [mbOk], 0);
pResourceID := MakeIntResource('test2');
if not UpdateResource(hInst, RT_STRING, pResourceID,MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL) , PWideChar(test2), Length(test2)) then
MessageDlg(SysErrorMessage(GetLastError), mtError, [mbOk], 0);
... dann will ich sie wieder auslesen mit folgender function....
Delphi-Quellcode:
function TForm1.ReadResString( res: string ): string;
var
tmp: pchar;
HI, HG: Cardinal;
Resource: Pointer;
pResourceID: PChar;
begin
pResourceID := MakeIntResource(res);
HI := FindResource(hInstance, pResourceID, RT_STRING);
if HI <> 0 then
begin
HG := LoadResource(hInstance, HI);
if HG <> 0 then
begin
Resource := LockResource( HG );
if Assigned(Resource) then
begin
tmp := Resource;
result := string(tmp);
end;
end;
end
else
begin
ShowMessage(SysErrorMessage(GetLastError));
Result := 'ERROR';
end;
end;plus
wenn ich mir nun string nr.1(test1) anschau is am ende immer ein __ dran gehängt: blabla_
woran liegt das?
wenn ich mir dann string nr.2(test2) wird immer das wort PAD rangehangen plus string 1
also so: huhuPADblabla_
was hab ich da falsch gemacht?