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