Result ist jetzt true, die Ressource wurde gelöscht, die EXE ist jedoch noch nicht kleiner geworden.
Delphi-Quellcode:
function DeleteResource(const FileName: Ansistring; const ResName, ResType: PChar): Boolean;
var
hUpdate: Cardinal;
begin
Result:= False;
hUpdate:= BeginUpdateResource(PChar(FileName), LongBool(FALSE));
if hUpdate = 0 then Exit;
try
Result:= UpdateResource(hUpdate, ResType, ResName, LANG_NEUTRAL, nil, 0);
finally
if Result then
EndUpdateResource(hUpdate, LongBool(FALSE))
else
EndUpdateResource(hUpdate, LongBool(TRUE));
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin //'RT_BITMAP' <- ALT
if DeleteResource(opendialog1.filename, 'BBABORT', RT_BITMAP) then
Caption:= 'OK';
end;
(RT_BITMAP und nicht 'RT_BITMAP')