Moin Schlingel,
erst einmal herzlich willkommen in der Delphi-Praxis.
Unter der Voraussetzung, dass PDFBox.Canvas von TCanvas abgeleitet ist sollte es so gehen:
Delphi-Quellcode:
procedure WithCanvasDo(const ACanvas : TCanvas);
begin
with ACanvas do
begin
// Was auch immer mit dem Canvas geschehen soll
end;
end;
Da ja die Eigenschaften bzw. Methoden in beiden Routinen die gleichen sind, wie Du sagst, wäre sonst wohl auch noch folgendes möglich (als Notbehelf):
Delphi-Quellcode:
procedure WithCanvasDo(const ACanvas : TObject);
begin
with TCanvas(ACanvas) do
begin
// Was auch immer mit dem Canvas geschehen soll
end;
end;
[EDIT]
Ich sollte mal aufmerksamer lesen
Es kommt wohl nur die zweite Variante in Frage, auch wenn diese erst mal getestet werden muss, ob's so dann geht.
BTW: Statt TObject liesse sich natürlich auch der kleinste, beiden Objekten gemeinsame, Vorfahr nehmen.
[/EDIT]