Die einfachste Lösung scheint mir noch das Auslagern aller benötigten Delphi-Routinen in eine
DLL, wie Sebastian es vorgeschlagen hat. Aber dann würde z. B.
eine Lazarus-Exe alleine nicht laufen, nur im Doppelpack mit obiger
DLL.
Du kannst auch Interfaces verwenden. Dann kannst du deine vermutlich ja ohnehin schon bestehenden Klassen einfach komplett in die
DLL packen und über Interfaces ansprechen.
Ja, sie läuft nur mit der
DLL, aber du kannst die
DLL auch dynamisch laden, als Ressource mitliefern und vor dem Laden schlicht in das Temp-Verzeichnis auspacken (wenn sie nicht schon bei der Exe liegt). Manche Virenscanner mögen das nicht unbedingt, aber ansonsten funktioniert das sehr gut.