Einzelnen Beitrag anzeigen

thomasschaf
(Gast)

n/a Beiträge
 
#18

AW: eingebunde Resourcen abfragen (RCDATA)

  Alt 17. Mär 2012, 10:48
Hallo,

entschuldige himitsu. (Ich habe die verstecke Nachricht übrigens auch gelesen).
Du hast völlig recht, nach weiteren Versuchen konnte ich feststellen:
das Problem liegt definitiv darin, wie die Resource in die Exe geschrieben wird.

Dazu die Funktion:
Delphi-Quellcode:
function SetRes(filename, resname, resvalue: string; langid: word;
  delex: boolean): boolean;
var
  hUpdate: THandle;
  Size: DWord;
begin
  hUpdate := BeginUpdateResource(PChar(filename), delex);
  if (hUpdate <> 0) and (hUpdate <> INVALID_HANDLE_VALUE) then
  begin
    try
      Size := Succ(Length(resvalue)) * SizeOf(char);
      Result := UpdateResource(hUpdate, RT_RCDATA, PChar(resname),
        langid, PChar(resvalue), Size);
    finally
      EndUpdateResource(hUpdate, False);
    end;
  end;
end;

// Aufruf:
SetRes(f2, Edit1.Text, Edit2.Text, StrToInt(Edit3.Text), CheckBox1.Checked)
// Rückgabewert ist immer True.

Beispiel:
Edit1.text = TEST
Edit2.text = Hallo
Edit3.text = 0
checkbox1.checked = false

---

Nun erhalte ich aber, wenn ich versuche die Datei zu öffnen, in die ich geschrieben habe, sofort die Fehlermeldung siehe Anhang.
Miniaturansicht angehängter Grafiken
screenshotcaek.png  
  Mit Zitat antworten Zitat