Hallo, werte Gemeinde.
Ich würde gern die AviSynth-Header von C++ nach Delphi übersetzen, um auch mit Delphi AviSynth-Plugins programmieren zu können. Dabei macht mir allerdings eine Methode einer Interface-Klasse Schwierigkeiten:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| class IScriptEnvironment { public: virtual __stdcall ~IScriptEnvironment() {}
// ...
virtual char* __stdcall Sprintf(const char* fmt, ...) = 0;
// ... }; |
Mit dem Teil "
, ...)" kann man in C++ erreichen, dass eine beliebige Anzahl von Parametern übergeben werden darf. Delphi unterstützt exakt diese Art von Deklaration selbstverständlich nicht; eventuell gibt's aber einen Trick, mit dem man das entweder nachahmen kann - oder jemand findet vielleicht in den Headern einen Hinweis darauf, dass die Implementation eventuell gar nicht wirklich notwendig wäre?!
Ich hoffe, dass diese Farge nicht allzu sehr über den "üblichen Rahmen" dieses Boards hinausgeht.
Den einzigen Trick, den ich bisher woanders gefunden hatte, war einer mit prozeduralen Variablen, allerdings scheint es mir, dass der technisch nicht identisch mit der variablen Parameterliste in C++ ist.