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?