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? >
