Du wirst dich mit
COM/Interop und P/INVoke auseinandersetzen
MÜSSEN(
), egal welche Technik du am Ende einsetzt.
Je nachdem wie schmal das Interface zwischen .Net und Delphi ist, wirst du dich aber auch weniger tief in den Kanninchenbau wagen müssen.
In Delphi gibt es auch immer das Problem, dass du bei 3rd Party Komponenten schnell mal auf einer Delphi-Version sitzenbleiben kannst oder immer die neueste Version der Lösung kaufen musst. Wenn man eine schmale, versionsunabhängige Lösung, oder gleich eine in Windows/.Net eingebaute Infrastruktur nutzt, hat man oft mehr Glück als mit einer speziellen Delphi-Lösung.
Das manuelle Hosting der CLR ist gar nicht so schwierig, und damit kommt man eigentlich an fast alles ran, was da so in .Net existiert.
Wenn man weiß wie Delphis Interfaces aussehen, und wie man die in C# abbilden kann (oder andersrum), kann man sich auch schmale Verpackungen um Fremd-Assemblies bauen, die sich performant von Delphi aus benutzen lassen.
Hier sind ein paar Beispiele, was dabei zu beachten wäre.
Es braucht auch nicht unbedingt die JCL dazu. (Es gibt sicherlich Beispiele für mscoree und CorBindToRuntimeEx in Delphi)
Wenn es reicht, ein paar Funktionen in C# zu exportieren, kannst du auch
mein Nuget-Package zu deinem C#-Projekt hinzufügen. Damit kannst du in C# eine
DLL erzeugen, ähnlich wie es auch in Delphi geht.