Beispiel:
Delphi-Quellcode:
type
TForm1 = class(TForm, IDECProgress)
...
private
procedure Process(const Min, Max, Pos: Int64); stdcall;
end;
Und dann Self in als Interface für den Callback reingeben.
Man kann sich auch ein eigenes Objekt/Interface dafür bauen.
TForm, bzw. alle TComponent haben bereits eine Interfacebehandlung dind, welche standardmäßig keine Referenzzählung besitzt. (Controlle über die Freigabe liegt weiter beim Owner und/oder Free)
Und wer selber kein komplettes IInterface bauen will:
TInterfacedObject
TInterfacedPersistent
...
Und da du keine Objektinstanz zur Verfügung hast, sondern nur Prozeduren, bzw. nur statische Methoden,
würde ich das Interface durchreichen, also
; const Progress: IDECProgress = nil
in die eigenen Methoden mit einbauen.