A correction - MapX rowvalue object allows as much attribute manipulation as 
you would want to do. 

My issues for MI.NET:

1. The big limitation of MapX (or its environment), was that even after 10 
years+? of its existance, the availability of public free or commercial 
code/libraries for doing simple and complex things is non-existant. So 
code-snippet sharing via the mi list provided some limited source, but 
otherwise, I would imagine there are squillions of in-house libraries (or more 
likely in-app procedures) for doing stuff, all repeating what has been done 
elsewhere. (cf. MapBasic, where source is readiy available, .MBX are readily 
available etc.). MapX did allow a Map object to be passed to an OCX or DLL, so 
not sure why nothing happened in this regard?? 

One good example of the MapX library deficiency is printing a map - this is a 
classic case where someone writing a "library" to handle margins, different 
paper size, orientation, adding legends, to scale or fixed width etc. etc. 
would have saved gazillions of man-hr developement in the mapx world. Even if 
say a generic VB version using SDK calls was available in source form, 
converting this to other languages for a particular job would be easy compared 
to writing from scratch. I suspect there are a lot of very average looking MapX 
output maps sitting on people's desks, simply because it was too time-consuming 
to do properly.

What is going to prevent the MapX code graveyard happening with .NET?

2. I agree, .NET will be great for the current web / mapx developers and many 
mapbasic applications, building stand-alone applications.
I am looking for an answer for the following traditional method of working on 
the Desktop -

Currently, I am sure many people are used to the approach of building a map in 
MI pro through application of many MBX tools. eg. Add a grid, add a north 
point, add nice labels. Even big applications are supported by smaller and 
useful tools to complete the job.

It seems that with the classes provided in the MapInfo.Data namespace, two apps 
can concurrently access a native MI table and with TableAccessToken and events 
for insert,delete etc., manage concurrent use. Am I reading too much into this 
or does this really solve the shared MI table problem? After all, the MI tables 
still represent the fastest way of accessing map data. What are the performance 
implications (if any) of the ADO.NET implementation of MI native tables?

If my understanding is correct, even with MI .NET and a lot of specialised .NET 
EXEs, the problem you have is the shared map or layout. You build a map in 
MapInfo Professional .NET. To do anything more, you would need to save a MWS, 
close everything, run the NorthPoint EXE. which also needs to show a map and 
have some interaction with the user, save a MWS. Then reopen MWS in MI .NET to 
do more editing stuff. So, you can (can you?) pass a Map object to another app 
(as a DLL for eg.)? If say a "NorthPoint DLL" modifies the map, do the map 
event handlers trigger in the calling app? Is MIPro.NET going to be smart 
enough to allow an EXE to fiddle with a map sitting in an open window?

3. Who is going to convert the many useful MapBasic apps to .NET? Who is going 
to define the interface to make them widely usable? 

4. When I come to port MapX applications, are there tools to assist the 
otherwise tedious exercise?

5. What are the licensing implications of someone say, writing and selling 
NorthPoint.dll which provides a function call to accept a map object and add a 
feature object to that map. Does the DLL author need to pay licencing fees, or 
does the calling app licence cover this. (There are no fees distributing a 
.MBX).



Phil.

  ----- Original Message ----- 
  From: Bill Thoen 
  To: MapInfo-L 
  Sent: Thursday, December 16, 2004 1:57 PM
  Subject: MI-L Dot NET and the Future of MapInfo Applications


  In an effort to see where MapInfo is going with this dot-NET thing, I have
  been fooling around with Microsoft's Visual Studio C# IDE and MapInfo's 
  MapXtreme 2004 free trial package. So far, all I have to say is that this 
  development environment really rocks!

  I had a few misconceptions about MapXtreme too. Turns out that your MX
  applications run just fine on the desktop just like any normal local
  Windows executables (because that's exactly what they are.) I thought you
  had to do everything via a web server, like it or not. You don't. However,
  if you DO like building distributed Internet applications, you can run
  your application over the web too. The core functions are designed to work
  in either environment.

  It supports normal *.TAB files, with all the attributes you want (unlike
  MapX which can't build a TAB file with more than one attribute.) Of
  course, you also have access to the entire ADO.NET suite of class
  functions too, so you might want to think about going beyond the old *.TAB
  file.

  I wasn't sure of this, but it seems to be true. You don't actually need
  Visual Studio to build applications. Just to see, I tried writing a little
  scrapplication to create a mappable Tab file of city locations with
  varying point styles in the ancient edlin line editor (a minimalist's
  programming environment, for sure!) The .NET SDK Framework from Microsoft
  is free, and that supplies the csc.exe compiler. I just compiled my app in
  a DOS window, with references to the MapInfo MapXtreme dlls, and it
  worked!  But even though you CAN build .NET MapXtreme applications this
  way, I now think that Microsoft's Visual Studio IDE is maybe worth the
  outrageous thousand-clam price. Visual Studio's IDE is probably the most
  convenient programming tool I've ever used.

  However, if all you know is MapBasic, the learning curve is pretty steep.  
  I have some Visual Basic and C background, but very little C++, so
  learning C# is a bit of a stretch. However, after a couple of weeks, it
  seems to be coming together. MapInfo's PDF documentation and Help files
  (while full of stupid little errors that will plague the greenhorn) are
  not too bad, and the MapXtreme 2004 online forum is very responsive. If
  you're thinking of going the .NET route with MapInfo, I don't think the
  transition is going to be all that horrible. It'll take effort, but it's
  not quite as hard as I thought it would be.

  But I'm curious about what others think. What warts does this Brave New
  World have? How will the licensing affect your businesses?  For those who
  have tried it so far, what do you think?

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

Reply via email to