Language Parity

Of course we would like to make CrossTalk support every .NET feature and expose it as if it were Delphi. Because of platform and language differences, implementing every feature quickly becomes a tar pit.

The goal of CrossTalk thus is not to implement every .NET feature, but to implement the base and most common features to allow CrossTalk to consume most .NET libraries directly.

CrossTalk does support basic reflection and even boxing but there are two major areas where this becomes an issue are generics, and interfaces.

Both generics and interfaces pose significant problems because Delphi and .NET implement them differently, especially generics. If you are interested in deeper technical reasons, please read this page about generics.

In cases when CrossTalk cannot connect to something in a library that you need, it can easily be wrapped and exposed to CrossTalk as a simpler interface using a shim wrapper. While this does require some minimal coding in .NET to create these wrappers, it is a minimal trade off to be able to talk from Delphi / C++ directly to .NET and keeps the cost of CrossTalk significantly lower.