Since I've been one of those obnoxious people asking for VBA support, I'll thow
in my 2 cents:
My goal/desire/wishful thinking is for MapInfo Professional to become a
development platform. What I'd like to be able to do is, given a customer's
problem, design a simple and elegant solution using standard programming
practices that solves that problem. At present, I don't feel that MI Pro with
MapBasic supports this. The problems, as I see it, are:
1) MapBasic is a non-standard programming language. It's great for what it is,
and similar enough to Visual Basic to make it easy to learn, but the
differences, when you hit them, can get you into trouble. Don't ge me wrong, I
like MapBasic. I think it revolutionized desktop mapping when it first came
out. But now it's time for something better.
2) MapBasic doesn't offer enough control over the application environment. If
I want to write an application for an end-user, I have to go through way too
many hoops to turn things off that will get them into trouble. And forget
creating custom windows and dialogs. Unless you're an expert with the Windows
API calls (which I hope never to be), this is impossible. MapBasic's Dialog
statement is great for simple user input dialogs, but doesn't cut it for
anything more advanced or interactive.
3) Using external functionality is tough in MapBasic. If you've got the
functionality in a DLL you can get at it. But most third-party tools that are
being developed today are in ActiveX. There are a number of good reasons for
this, but suffice it to say that ActiveX is the industry standard and we should
embrace it.
4) Finally, adding functionality to the core components of MI Pro is an issue
that MapBasic can't address. Let's say you've got a customer who loves MI Pro,
but really needs to have a spell checker for their layout windows (why they want
to do this is none of my business!). Anyway, there are great spell checking
ActiveX component out there, but just try getting MapBasic to make it work in
your Layout Window. I won't say it's impossible, but I don't think that many of
us want to waste our time making it work. If MI Pro supported the concept of
"plug-ins", though, this might be much easier to implement.
Ok, I hate to be one of those annoying people who whines about problems without
offering any solutions, so here's a few possible ways to address this (keeping
in mind that I'm not the person who has to implement it so of course it sounds
great to me!):
Scenario #1: Keep MapBasic as it is but create a statement that allows you to
run a VB Script, utilizing all of the power that normally goes allong with VB
Script (including the use of ActiveX objects). This is a great first step, and
would address a lot of the problems, but I don't think that it's a final
solution.
example:
Sub MyMapBasicSub( )
'MapBasic code
...
Begin VBScript
'VB Script code
...
End VBScript
'More MapBasic code
...
End Sub
Scenario #2: Support VB Scripts but allow for embedded MapBasic code (like the
above example in reverse). This is better (from my standpoint) but you're going
to hear a lot of complaints from people who have a lot of legacy MapBasic code
lying around.
Scenario #3: Support both MapBasic and VB Script. This keeps all of us users
happy, but requires more work from MapInfo. Also, to make this work, you need
to allow the MapBasic to communicate with the VB Script and vice versa. I don't
know how you'd do this, but it would definitely help.
The real key behind all of this, though, has to come from a new architecture for
MI Pro (which Neil Havermale alluded to). To make all of this work, this new
architecture needs to encapsulate all core functionality into individual
components that can be called from VB Script and be inherited by our own custom
classes. I want to be able to create my own Layout window that does everything
that MapInfo's does, but also does more. Or, I want to take the Redistrictor
and remove some functionality that's going to cause trouble for my end user.
All of this is big, and I'm not asking for it overnight. But if nobody asks for
it, we'll never see it. As for MapX, that's not the answer. MapX is great for
what it is, but it's never going to replace MI Pro. It wasn't designed to do
that. Therefore, we can't just say that "Oh, you're doing custom development so
you should use MapX." I don't want to have to re-create everything that MI Pro
already does just so I can use mapping functionality with ActiveX. If I need to
deploy a fully functional mapping system, I want to use MI Pro. If only need
limitted functionality, then MapX is my choice. MapInfo needs to support both
of these options.
That's my 2 cents. Sorry if its a bit much, but I welcome any and all
responses. I think that this is an important coversation for us as users to
have, and I think MapInfo needs to pay close attention to what we have to say
about it.
Gary.
John Chioles wrote:
> MI Listers:
>
> I am curious how others feel about MapBasic not being supported in favor of
> a MapInfo/VBA language versus just using MapX? Will the economics drive the
> functionality? Can the same analogy be made for Avenue/VBA/MapObjects ?
>
> Your thoughts are welcome.
>
> -John Chioles
>
> > -----Original Message-----
> > From: Scott Elliott [SMTP:[EMAIL PROTECTED]]
> > Kim,
> >
> > We did a story on this in March, at which time Andrew Dressel,
> > director of the MapInfo Professional Product Line, told us
> > "We have been examining the option of incorporating VBA into
> > MI Pro for some time. For various reasons, both external and
> > internal, we don't believe that now is the time to do it. We
> > may choose to do so in the future."
> >
> > Regards,
> > Scott Elliott
> >
> >
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> >
> > Fellow listers,
> > I have a client who has employed a programmer to do some "sexy" linkages
> > between Microsoft Access and Mapinfo. As the person producing the spatial
> > themes (and not very clued up on Map Basic) I have been asked:
> > 1. How long before Map Basic adopts an object oriented programming
> > language
> > (eg Visual Basic) to keep in line with Microsoft Office products?
> > 2. If Map Basic is never likely to adopt this VB language, what other
> > mapping program does?
> > 3. Is Map Basic more than just a fancy macro recorder - can a MapBasic
> > programmer get the same functionality as say a programmer in the Office
> > environment? ie what sort of a bang do you get for your buck (Au$1500+)
> > I welcome any response.
> > Kim Greenham
> >
> ----------------------------------------------------------------------
> To unsubscribe from this list, send e-mail to [EMAIL PROTECTED] and put
> "unsubscribe MAPINFO-L" in the message body, or contact [EMAIL PROTECTED]
----------------------------------------------------------------------
To unsubscribe from this list, send e-mail to [EMAIL PROTECTED] and put
"unsubscribe MAPINFO-L" in the message body, or contact [EMAIL PROTECTED]