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

Reply via email to