[Mono-devel-list] Borland Delphi 2005 Suport

marc hoffman mh at elitedev.com
Sat Jan 8 06:05:57 EST 2005


> Some time ago, Borland released a new version of Delphi, 
> Delphi 2005. With Delphi 2005 it's possible to build "true" 
> managed applications. Sadly Borland has a set of base 
> functions/classes etc which, in the borland form, extensively 
> use P/Invoke + win32 api.
> Now comes the question, how about implementing the assemblies 
> needed for supporting (limited, meaning no Windows functions) 
> Delphi 2005 .NET applications be run on mono (linux and macosx)?

Hmm. Should it really be Mono's job to patch around compiler implementations that don't generate proper 100% managed applications? Where would you draw the line between "limited" support and replicating a whole bunch of Win32 functionality in Mono's runtime? (And doesn’t Wine already provide such a replica, at least for Linux?)

Also, if you say the Delphi RTL doesn’t call "Windows functions", what else does it call via P/Invoke that Mono [c|sh]ould replicate? What else is there to call?

The FCL and Mono library is an /excellent/ RTL that provides pretty much everything you could expect in an RTL. 

I think when moving to .NET/Mono to achieve cross-platform usability for your library, it would be a good thing to look beyond jumping from one hack to the other (and implementing Delphi RTL dependencies in Mono would just be another hack; the original Delphi designers using P/Invoke in the first place to get their RTL ported cheap being the first one). Otherwise you'll just keep running into stuff you need to hack around (or ask others to hack around) whenever you take the next step (say, porting your library to dotGnu; to 64bit .NET, to non-x86 Mono, etc etc).

Just my €.02 

marc hoffman
Chief Architect, .NET
RemObjects Software

More information about the Mono-devel-list mailing list