Ich bleibe dabei, sich den ganzen DLL-, Zeiger- und Aufrufkonventionen-Kampf zu sparen und einfach einen neuen "Server" für lokale Dateien und andere Quellen zu bauen wäre aus meiner Sicht viel einfacher und würde das Client-Hauptprogramm in seinem Kern fast unberührt lassen. An die Delphi-Sittenpolizei werde ich dich jetzt aber nicht verpfeifen
Deine
DLL braucht eine Funktion "registerCallBackProcedure" welcher du als Parameter einen Zeiger gibst. Dieser Zeiger zeigt auf die Funktion in deinem Hauptprogramm welche die
DLL später aufrufen können soll.
Ich habe es nicht im Kopf, aber müsste
@meineProzedur
nicht schon reichen?
Und die
DLL muss jetzt natürlich auch genau wissen, mit welcher Aufrufkonvention "meineProzedur" arbeitet (cdecl, stdcall, ...) und welche Parameter welchen Typs sie in welcher Reihenfolge erwartet.