Hi Andrew
It is quite possible to build a VB (or Delphi or C++) application that
uses Mapinfo in the background while only showing the user your
program's interface. The process is called integrated mapping and it is
discussed in Mapbasic manuals.
You have to do a bit of development to make the interaction between VB
and MI "enjoyable" but if you are comfortable with classes in VB this is
not really an issue. The reason for this is that the MI object does not
have the complete Mapbasic command set available. You do, however, have
a Do and Eval method to use, both of which take a command string (just a
string of Mapbasic commands) as an argument. The Eval method passes back
a string. The problem with this is that it's a bit of a pain to assemble
the command string - especially one using quotes. I wrote a class to
wrap up any procedures / functions I need and this makes calling things
a lot easier. Once you get the feel of how the interaction works it
really isn't that bad at all.
I have written a number of applications in VB and find the process quite
useful. Since my class module containing the MB commands is now fairly
complete I have even found that certain applications are easier to write
in VB with MI just used for the back end.
Feel free to drop me a note if you have more questions.
Regards
James
--------------------------------------
James Marlow, Director of GIS
Channel Marketing Corporation
[EMAIL PROTECTED] http://www.cmcus.com
Telephone: 972-858-9600 x 331
Facsimile: 972-858-9601
> -----Original Message-----
> From: Andrew Bailey [mailto:[EMAIL PROTECTED]]
> Sent: Monday, February 01, 1999 10:55 AM
> To: James Marlow; 'Dr. Rajendra Kumar Gupta'; Mapinfo-L (E-mail)
> Subject: Re: MI problem in calling dll
>
>
> I'm not too sure of what i'm reading here - my knowledge of
> VB is mild, my
> knowledge of DLLs is milder to say the least. But you both sound like
> people who have had experience of VB and Mapinfo working
> together. Is it
> possible to build a VB application using VB dialogs to
> interact with MI
> workspaces, and not let the user see the MI window? Do VB and
> MI interact
> well enough to make the process enjoyable or is it a walk through a
> bug-laiden hell?
>
> andy b
>
> ----------
> > From: James Marlow <[EMAIL PROTECTED]>
> > To: 'Dr. Rajendra Kumar Gupta' <[EMAIL PROTECTED]>;
> Mapinfo-L
> (E-mail) <[EMAIL PROTECTED]>
> > Subject: RE: MI problem in calling dll
> > Date: Monday, February 01, 1999 2:45 PM
> >
> > Hi Rajendra
> > �
> > Unfortunately, VB5 does not produce the type of DLL that
> Mapbasic can
> > call. There are actually two types of DLL that can be produced -
> > standard and ActiveX. Mapbasic uses the standard one and VB5 only
> > produces ActiveX DLLs. Supposedly there is a class module
> you can get
> > from Sheridan Software that will make a VB5 dll work, but I
> have never
> > managed to find it.
> > �
> > Something else you might consider is the PowerBasic
> compiler (available
> > at www.powerbasic.com) which costs $179US. I have never
> used this, but I
> > know a couple of people who have and they say it is very
> good. The main
> > advantage is that it uses the BASIC language but produces small,
> > efficient DLLs for windows. There are 16 and 32 bit
> versions available
> > �
> > Alternatively, you could do what I do and write your DLLs in Delphi.
> > However, that requires a knowledge of Pascal and that may
> be too much
> > effort for what you want to do.
> > �
> > Feel free to e-mail me if you want more info.
> > �
> > Regards
> > �
> > James
> >
> > --------------------------------------
> > James Marlow, Director of GIS
> > Channel Marketing Corporation
> > [EMAIL PROTECTED]� http://www.cmcus.com
> > Telephone: 972-858-9600 x 331
> > Facsimile: 972-858-9601
> >
> > �
> >
> > -----Original Message-----
> > From: Dr. Rajendra Kumar Gupta [mailto:[EMAIL PROTECTED]]
> > Sent: Monday, February 01, 1999 3:19 AM
> > To: MapInfo-L
> > Subject: MI problem in calling dll
> >
> >
> > The dll has been created in VB5.0 and has to be called in
> > mapbasic.However we get a run time error that the external
> library does
> > not contain the function.The function is written in class module in
> > VB.There is no compiler error in mapbasic and the dll is
> called in the
> > usual way
> > �
> > ��� declare sub reversename lib "c:\test.dll" (str as string)
> > �
> > � call reversename(str)
> > �
> > can anybody help me in solving this problem?
> > or
> > provide any sample program?
> > �
> > thanxs
> > �
> > rajendra
> >
> >
> ----------------------------------------------------------------------
> > 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]
>
----------------------------------------------------------------------
To unsubscribe from this list, send e-mail to [EMAIL PROTECTED] and put
"unsubscribe MAPINFO-L" in the message body, or contact [EMAIL PROTECTED]