Einzelnen Beitrag anzeigen

SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
311 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

E2291 Implementierung der Interface-Methode ... fehlt

  Alt 23. Aug 2024, 18:16
Hi,

ich habe jetzt Delphi 12 und davor aber Berlin gehabt.

Eine Komponente, die auch für 10.4 gemacht ist (neuere hab ich nicht, daher nehme ich diese Version; die Berlin-Version ließ sich fehlerfrei compilieren) erzählt mir jetzt beim Compilieren:
Zitat:
[dcc32 Fehler] .. E2291 Implementierung der Interface-Methode IDWriteTextRenderer.DrawInlineObject fehlt
Da schau ich dann genau hin:
Delphi-Quellcode:
type
  TTextRendering = class(TInterfacedPersistent, IDWriteTextRenderer) // <- diese Zeile wird bemeckert, das "class" unterwellt
  private
// unter anderen:
    function DrawInlineObject(clientDrawingContext: Pointer; originX: Single;
      originY: Single; var inlineObject: IDWriteInlineObject; isSideways: BOOL;
      isRightToLeft: BOOL; const clientDrawingEffect: IUnknown): HResult; stdcall;
und weiter unten in der Unit
Delphi-Quellcode:
function TTextRendering.DrawInlineObject(clientDrawingContext: Pointer;
  originX: Single; originY: Single; var inlineObject: IDWriteInlineObject;
  isSideways: BOOL; isRightToLeft: BOOL; const clientDrawingEffect: IUnknown): HResult;
begin
  Result := S_OK;
end;
Hä? Ist doch da?!

Und das IDWriteTextRenderer ist in Winapi.D2D1 zu finden, Zeile 5830:
Delphi-Quellcode:
  IDWriteTextRenderer = interface(IDWritePixelSnapping)
// unter anderem
    function DrawInlineObject(clientDrawingContext: Pointer; originX: Single;
      originY: Single; const inlineObject: IDWriteInlineObject; isSideways: BOOL;
      isRightToLeft: BOOL; const clientDrawingEffect: IUnknown): HResult; stdcall;
Was braucht der Compiler denn jetzt?
Wie behebe ich das?
  Mit Zitat antworten Zitat