Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#1

UpdateResource (XML)

  Alt 29. Mär 2017, 17:10
Ich habe eine Exe, die ich durch eine andere Exe konfigurieren möchte. Als Konfigurationsformat verwende ich XML, welches ich dann in die zu konfigurierende Exe packe. Soweit, so gut, funktioniert auch vordergründig. Nun habe ich evtl. auch noch Binärgedöns (z.B. Grafiken). Also dachte ich mir, das kann ja mit in die XML, einfach Base64-kodieren und feddich is der Lack. Das klappt aber überhaupt nicht, nach EndUpdateResource ist die Exe inne Futt, wie der Sauerländer sagt. Da ich die XML auch noch zwecks späterer Verwendung auf der Festplatte ablege, hab ich mir flugs den ResourceHacker geschnappt und sie dann damit eingefügt, das funktioniert. Hier mein Code:
Delphi-Quellcode:
  Stream := TMemoryStream.Create;
  try
    XML.SaveToStream(Stream);
    ResHandle := BeginUpdateResource(PChar(Filename), false);
    if ResHandle <> 0 then
      try
        Success := UpdateResource(ResHandle, RT_RCDATA, 'config', MakeLangID(LANG_NEUTRAL, SUBLANG_DEFAULT), Stream.Memory, Stream.Size);
      finally
        EndUpdateResource(ResHandle, not Success);
      end;
  finally
    Stream.Free;
  end;
Hat jemand eine Idee, was ich falsch mache? Hülfee!!!einseinself
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat