Hi Rollo
Da mein Englisch sehr schlecht ist, hab ich mir die Beiträge unter deinem Link mal von Google übersetzen lassen. Inzwischen kommen mit dem Ding ja tatsächlich verständliche und nachvollziehbare Übersetzungen zustande.
Wenn ich das jetzt richtig verstanden habe, besteht das Problem darin:
Sollte sich die Deklarationsstruktur des TPDFiumFrame bei einem Update des Frames ändern und auch nur ein privates Feld dazukommen, verschiebt das die ganzen nachfolgenden Deklarationen nicht nur im Quelltext-Editor nach unten, sondern sie erhalten auch eine neue Speicheradresse.
Ich seh hier allerdings in diesem Fall kein Problem. Denn wenn es mal ein Update des TPDFiumFrames geben sollte und ich dieses einbauen will, muss ich auch meine Klasse neu einfügen und neu compilieren, wodurch sich das Problem 'voon selbst' erledigen sollte.
Meine Deklaration (wobei ich gerade sehe, dass sie Falsch ist - ich beabsichtige nicht, irgendwas zu veränder oder irgendwelche Methoden zu überschreiben. Ich benötige lediglich in meiner Mainform eine Klassenvariable, die mit TPDFiumFrame.TPDFPage kompatibel ist :
Delphi-Quellcode:
public
{ Déclarations publiques }
type
TPDFCustomDocumentPage =
class(TPDFPage)
// Index : Integer;
// Handle : HPDFPage;
// Top : Double;
// Rect : TRect;
// Text : HPDFTextPage;
// NoText : Boolean;
// Visible : Integer;
// SelStart : Integer;
// SelStop : Integer;
// Selection: TArray<TRectD>;
// destructor Destroy; override;
// function HasText: Boolean;
// function CharIndex(x, y, distance: Integer): Integer;
// function CharCount: Integer;
// function Select(Start: Integer): Boolean;
// function SelectTo(Stop: Integer): Boolean;
// function ClearSelection: Boolean;
// procedure DrawSelection(DC, BMP: HDC; const Blend: TBlendFunction; const Client: TRect);
end;
constructor Create(AOwner: TComponent);
override;
destructor Destroy;
override;
Den ganzen hier auskommentierten Teil kann ich weglassen. War wohl schon etwas spät gestern abend...
Gruss
Delbor