As I mentioned in a memo not too long ago, there are three standard ways of calling .NET code from native/Win32 code.
So, as far as MapBasic is concerned, it must call a Win32 Native code DLL using the stdcall calling convention. Any language that will produce that kind of .DLL is usable from MapBasic. Note that in VS.NET, the only language that builds native code is the C/C++ compiler. You cannot do this from C#, VB.NET or J# or anything else from Microsoft. Delphi has added their own language to the mix and it still as in the past, produces Win32 Native code DLLs. Their newest version also produces .NET code (MSIL) like C#, VB.NET and C++ can. I saw nothing in the Delphi description (http://www.borland.com/delphi_net/pdf/delphi_net8_faq.pdf) that would indicate that a Delphi DLL can now contain Win32 Native AND MSIL code. I could be wrong but I saw nothing that would claim that. It is possible that they call COM from the Win32 code which can be wrapped around .NET. That may work but may be expensive. So, C++ is special in that you could create one DLL (what Microsoft calls a mixed DLL) that contains a stdcall DLL entry point callable from MapBasic. That same DLL can then contain MSIL code that calls a .NET assembly directly. The code that is MSIL needs to be compiled with the /CLR command line switch. Uffe, am I wrong about the capabilities of Delphi? Are they doing the same kind of mixed code as C++? Eric Blasenheim Software Architect MapInfo Corporation Mail List: [EMAIL PROTECTED] From: on 09/23/2004 08:53 AM ZE2 To: "Mapinfo-L" <[EMAIL PROTECTED]> cc: Subject: Re: MI-L .NET DLL in MapBasic Delphi 8 (the .NET version) can as the only .NET development tool create DLL's that can be accessed from mapbasic through the stdcall convension. You can then call the C# assembly from the Delphi code. Generally these tools can be used for creating such DLL's: Delphi 2-8, VC++ 6, C++ Builder, old VB? These can't: VB6, C#, VS .NET (not sure) Kind regards Uffe Kousgaard www.routeware.dk ----- Original Message ----- From: "Jakob Lanstorp" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, September 23, 2004 8:40 AM Subject: MI-L .NET DLL in MapBasic If any one has a solution on how to wrap a .Net (C#) DLL for access through the sdtcall convension in MapBasic, I would be very interested to hear about it. /Jakob ________________________________ From: Bill Thoen [mailto:[EMAIL PROTECTED] Sent: Thu 9/23/2004 01:39 To: Gilbert, Antoine Cc: MapInfo-L Subject: RE: MI-L open http stream from mapbasic On Wed, 22 Sep 2004, Gilbert, Antoine wrote: > Does it's possible to make callable from mapbasic DLL with visual studio > .net ? MapBasic can call only those DLLs made in the stdcall format (not the kind you could make with VB6.) I'm not sure what type you can build with VS .NET. - Bill Thoen --------------------------------------------------------------------- List hosting provided by Directions Magazine | www.directionsmag.com | To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Message number: 13471 --------------------------------------------------------------------- List hosting provided by Directions Magazine | www.directionsmag.com | To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Message number: 13488
