procedure RemoveObject(Index: Integer; DestroyObject: Boolean = True);
| Index | Integer. Nullbasierter Index des zu entfernenden Seitenobjekts (0 bis ObjectCount - 1) |
| DestroyObject | Boolean. Wenn True (Standard), wird das zugrunde liegende PDFium-Objekt nach dem Entfernen freigegeben. Geben Sie False an, um das Objekt von der Seite zu lösen, ohne seinen Speicher freizugeben, zum Beispiel beim Verschieben auf eine andere Seite |
RemoveObject löscht ein Seitenobjekt von der aktuellen Seite anhand seines nullbasierten Index. Gültige Indexwerte reichen von 0 bis ObjectCount - 1. Nach dem Aufruf wird der Seiteninhaltsstrom automatisch neu erzeugt, sodass die Änderung sofort sichtbar ist
Wenn DestroyObject True ist, was dem Standard entspricht, wird der zugrunde liegende PDFium-Objekthandle freigegeben und sein Speicher geleert. Wenn False, wird das Objekt nur von der Seite gelöst, aber nicht zerstört — das ist nützlich, wenn ein Objekt von einer Seite auf eine andere verschoben wird und der Aufrufer den Handle übernimmt
Da das Entfernen eines Objekts die Indizes aller nachfolgenden Objekte verschiebt, ist beim Entfernen mehrerer Objekte in einer Schleife Vorsicht nötig: vom höchsten Index abwärts iterieren oder die zu entfernenden Indizes vor dem Start der Schleife sammeln
// Das letzte Seitenobjekt entfernen
if Pdf1.ObjectCount > 0 then
Pdf1.RemoveObject(Pdf1.ObjectCount - 1);
// Alle Objekte vom höchsten Index abwärts entfernen
var I: Integer;
begin
for I := Pdf1.ObjectCount - 1 downto 0 do
Pdf1.RemoveObject(I);
end;