Forum: Object-Pascal / Delphi-Language
Delphi
by Zacherl,
21. Nov 2016
Wäre auf jeden Fall kein schlechter Ansatz und wenn man tatsächlich auf einen Context-Parameter verzichten will auch die einzige saubere Lösung.
Zur Typsicherheit:
type
TMyCallback = procedure(Context: Pointer; P1, P2: PWideChar); stdcall;
..
procedure SetCallback(Callback: TMyCallback; Context: Pointer); // <- TMyCallback statt Pointer
Forum: Object-Pascal / Delphi-Language
Delphi
by Zacherl,
20. Nov 2016
TConfigTransfer.DoWork ist eine normale Klassen-Methode nehme ich an? Das Problem ist, dass bei solchen Methoden immer ein versteckter Self Parameter übergeben wird. Generell würde ich nicht einfach einen Pointer Parameter für den Callback verwenden, sondern einen Typedef verwenden:
type
TMyCallback = procedure(Sender: TObject; A1, A2: PWideChar) of Object;
Des Weiteren würde ich aber auch...