Q. Can I use a DotNet DLL in a Win32 App? Vice versa?
A. Yes you can but before you proceed, discuss the following points with your fellow developers:
A DotNet DLL is not the same as a Win32 DLL. It is not always easy to directly use a Win32 DLL in a DotNet app and you cannot directly use a DotNet DLL in a Win32 application.
In general, you don't want to mix Win32 and DotNet code in a commercial application. You can, but my professional opinion is that you shouldn't even try. You should target either Win32 or the DotNet framework but don't mix both in the same application. There are exceptions and you should discuss these with your Delphi developer.
In general, it is more acceptable to use a Win32 DLL in a DotNet application then it is to use a DotNet DLL in a Win32 application. The reason for this is that when you add a DotNet DLL to your application you are now requiring the user to install the particular version of the DotNet framework or higher to use your app (additional requirements are not good). Currently, there are four versions of the DotNet framework 1.0, 1.1, 1.1a, and 2.0. This, of course, will change once Windows moves to a fully DotNet API in Windows Vista.
It is easier to use a Win32 DLL in a DotNet application then it is to use a DotNet DLL in a Win32 application. It usually only takes a few hours to integrate a simple Win32 DLL so that should be a part of the discussion.
Q. Can I use a DotNet DLL, say written in C# or VB.Net, as a visual control in a Win32 Delphi program, say Delphi 5, 6, or 7?
A. Yes, through COM Interop. A good place to start is the following MSDN topic: "Exposing .NET Framework Components to COM":