So the mystery at this moment, I guess,  still remains.   I offer some insights passed to this list in Sept 2004 by Eric Blasenheim with MapInfo..  I asked a question about how .COM can be used by .NET generally.  

Well, .NET supports COM entirely – that’s not the problem.

The “problem” – if any exists (and I cannot imagine that MapInfo Corporation would allow this situation) is whether a substantial proportion of the latest incarnation of MapBasic coding would be interpreted and executed within the new .NET product.

And that would imply backwards-compatibility of older MBX equivalent to that possible now with (say) v8.0 – ie, can an MBX that was created with a MapBasic that supported only MapInfo Pro v6.0 features now work with MapInfo Pro v8.0? I would say yes. And so I would expect that same MBX to work with the new, .NET version of MI.

IL Thomas
GeoSciSoft  - Perth, Australia


From: Neil Havermale [mailto:[EMAIL PROTECTED]
Sent: Friday, May 12, 2006 8:27 AM
To: Jacques Paris; MapInfo-L@lists.directionsmag.com
Cc: [EMAIL PROTECTED]
Subject: RE: [MI-L] new app "Project Grande"?

 

Jaques - 

 

My understanding based on,  gosh almost two years now of running rumor-ology, is that MapInfo is going to great lengths to insure that those with MapBasic investments are reassured that their MB legacies will remain compatible with the emergence of  a MapInfo desktop offering (Professional ?) based on .NET technology, i.e. MapXtream 6.+?  

 

I get the feeling that your MB-future’s insight at the moment on this unqualified defacto promise is suggestive of “Yes, we have no bananas”?  I understand that at the recent Users Conference just last week there were several sessions dealing with this issue. Has something significant changed?

 

So the mystery at this moment, I guess,  still remains.   I offer some insights passed to this list in Sept 2004 by Eric Blasenheim with MapInfo..  I asked a question about how .COM can be used by .NET generally.  

 

Possibly others can share their insights of this grand project?

 

Neil

 

My question on MapInfo-l  in September 2004 …..

 

From our software engineers I have been told that there may be some sort of intermediate step that essentially puts a .NET-wrapper around WIN32 code permitting such legacy code to be used in the NET environments?  Is this a safe and reliable "first move" for legacy code or is this more like buying re-treaded tires?  They look great on the rack, have a low cost, but tend to fly apart under stress and fast speeds.

 

MidNight Mapper

Aka neil

                                                                          
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Wednesday, September 15, 2004 10:26 PM
To: Neil Havermale
Cc: SCISOFT; 'MapInfo-L'
Subject: RE: MI-L MapBasic vs VisualStudio .NET ... MapXtreme 2004

                                                                                                                                                      

Neil

 

.NET wrappers are totally acceptable. In fact, .NET does some of them for you. There are three  ways of interoperating with native code. They use the term native rather than win32 because you can also call 64 bit code and potentially any other code (linux) on the platform you are running.  There are performance issues in each of these mechanisms and Microsoft is changing them as we speak.

 

The simplest is called PInvoke. It allows .NET code to call an entry point in a .DLL.  This is essentially what VB programmers have been doing for years and conceptually similar to what we do in MapBasic calling a DLL. Using a .NET concept called attributes, you can control a few things better such as calling conventions and how data is converted or "marshalled" from .NET to the native DLL.  The .NET framework uses this facility itself to call Windows APIs.  The calling is one way (.NET to DLL)

 

COM objects can be called from .NET by the building of wrappers. The RCWs (Runtime Callable Wrappers) are built automatically by Visual Studio when you tell it that you want to use a COM object. The dialog in Visual Studio where you select the objects that you want to reference has a TAB for .NET assemblies as well as COM objects. The wrapper handles the calling of the COM objects and marshalling of data.  MapInfo distributed a wrapper like this for those who wanted to get started on .NET work over year ago. The wrapper handled the older MapX/MapXtreme.

 

Connected with that technology is the ability to call a .NET Code from COM.

These wrappers are called CCW (COM Callable Wrappers).

 

Check out MSDN for some good papers or

http://www.codeproject.com/dotnet/COM_DOTNET_INTEROP.asp.

 

The third technology is the C++ compiler. The .NET version C++ compiler supports what is called Unmanaged (native) and managed (MSIL) code generation. You can build totally MSIL code in C++ if you wish. The interoperability to native code is built into the compiler with a few rules that you have to follow. It is so easy to do that they called the technology IJW (It just works!). Well, we found a few problems with that technology. However, it is improving and some of the things they are doing in the next version are pretty amazing if they work. We are looking at that now. Note from my earlier memo that just because code is MSIL and compiled to native code by the run time (Just in time) compiler, does not mean that the code is "safe".

 

MapInfo uses this C++ technology to interoperate between it's public interface code (MSIL) and the native code.

 

Hope this helps.

 

Eric Blasenheim

Software Architect

MapInfo Corporation

 

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jacques Paris
Sent: Thursday, May 11, 2006 9:47 PM
To: MapInfo-L@lists.directionsmag.com
Subject: [MI-L] new app

 

It may seem strange that in the present context where the future of MapBasic applications is rather threatened by all the rumours of the abandonment of MapInfo.COM to the profit of a NET version incompatible with MB I am still writing MB applications. You have to imagine that I foresee despite all those rumours there will always be a niche for the “old” users, that there are still pressing need for new tools, that if I do not consider at my “age” learning a new language, practicing an old one has many “mental” benefits and brings more immediate satisfactions (since I accepted there was no $ rewards to expect for that activity). After that spiel some may take as a “testament” but is more like an act of faith, here is what I can offer you.

 

DateStringConvertor reads in dates as strings in different formats and convert then in strings respecting certain rules (only digits, leading 0 present, sequences DMY, MDY or YDA, separator space, - / .). There are probably 2 main reasons for using it: to convert “foreign” entries to a “standard” format or to prepare non conformant date formats to one that can be used by MI for converting date strings to date variable. MI allows only two kinds of format in the stringtodate() function, “US” and “local”, the last one being defined by the particular Windows regional settings. One could of course play with those settings to match the date input format but it seems rather awkward and dangerous. DateStringConvertor avoids that and allows for two different “spellings” for month names that the user can alter (in the INI file, with all the language strings as that app is Multi Lingual Compatible) to match his needs

 

You will find it at www.paris-pc-gis.com/download.htm in the MLC project.

 

Hoping that app could be of help to some of you, like it has been to Terry MacDonnell (uk) who has offered me the most stimulating support to develop it.

 

Jacques Paris

_______________________________________________
MapInfo-L mailing list
MapInfo-L@lists.directionsmag.com
http://www.directionsmag.com/mailman/listinfo/mapinfo-l

Reply via email to