Hi Eric,

This Delphi capability is not found on the feature matrices. It is
probably not interesting to so many I guess and these matrices are
pretty big already. But the compiler architects has publicly said that
it is correct, that D8 can do this and it is a unique feature.

You can download a working example from here with my comments:
www.routeware.dk/dot_net_dll.zip

>From a developer perspective it is very easy to use, but I can't say
what exactly goes on at the assembler / IL code level. But at least no
COM classes seems to be involved.


Kind regards

Uffe Kousgaard
www.routeware.dk


----- Original Message ----- 
From: <[EMAIL PROTECTED]>
To: "Uffe Kousgaard" <[EMAIL PROTECTED]>
Cc: "Mapinfo-L" <[EMAIL PROTECTED]>
Sent: Thursday, September 23, 2004 6:38 PM
Subject: Re: MI-L .NET DLL in MapBasic


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: 13490

Reply via email to