Hi:
There is however a way to make a call from another language (e.g.
Delphi) to initialize all the global variables required by the "standard
UI macros".
There is a macro in the gis_ui called "init_client", and it takes two
(optional, but recommended) arguments log_file and search_path. It runs
all the "Init ..." macros as appropriate, and diverts all ShowMessage()
dialog boxes to the log file, avoiding blocking the UI. If search_path =
null then search_path = "/ccdata".
RunMacro("init_client",log_file,search_path)
Maptitude Mapping Software <http://www.caliper.com>   Group Moderator

--- In [email protected], "ivanmf_iimf"
<ivan.marcelo.ferreira@...> wrote:
>
> Very Thanks, I'll set the properties before open the map.
>
> Ivan
>
> --- In [email protected], [email protected]
wrote:
> >
> > Hi:
> > Some of the "standard UI macros", such as "G30 default layer
settings"
> > depend on the Maptitude standard interface having been launched,
with
> > all its attendant initialization routines.  This is why it works
when
> > you already have Maptitude open, but not when your Delphi
application
> > accesses Maptitude without the interface.
> > If you want your Delphi application to be completely indpendent of
the
> > Maptitude interface, you will likely have to avoid using many of the
> > standard interface macros.
> > So, instead of calling "G30 default layer settings", you will need
to
> > explicitly set the icon style, display settings, etc. of the new
layer
> > before updating the map.
> > Maptitude Mapping Software <http://www.caliper.com>  Group Moderator
> >
> > --- In [email protected], "ivanmf_iimf"
> > <ivan.marcelo.ferreira@> wrote:
> > >
> > > Hi,
> > >
> > > Thanks for while! Now, if I run the macro on Delphi XE2 using the
> > following code:
> > >
> > >  RemoteMapObject.RunUIMacro('G30 new layer default settings',
> > 'gis_ui', layerName);
> > >
> > > I don't get the error anymore. But the error just don't appear if
> > Maptitude.exe is open in another window. If I try to run the code on
> > Delphi before open Maptitude.exe I get the following error message:
> > >
> > > "Array not initialized. Click OK to continue.
> > >
> > > Reference info: map, 940, 8."
> > >
> > > By the way, I noticed that the error just occurs if I run a macro
> > which has another macro inside. For example, when I run this macro I
> > don't get any error.
> > >
> > > Macro "teste"
> > >
> > > return ( "TRUE" )
> > >
> > > endMacro
> > >
> > > But, if I run this other, GISDK returns the error.
> > >
> > > Macro "teste"
> > >
> > > flag = RunMacro("G30 set exist", "gis_ui", "teste")
> > > return flag
> > >
> > > endMacro
> > >
> > > Can you help me?
> > >
> >
>

Reply via email to