mapbasic 16.0 release notes

8
MapBasic Version 16.0 Release Notes Contents: Introduction 2 Locating Your Documentation 2 Notes About this Release 3 Known Issues 5 Progress and Resolution of Outstanding Issues 7

Upload: nguyendang

Post on 09-Dec-2016

249 views

Category:

Documents


2 download

TRANSCRIPT

MapBasicVersion 16.0

Release Notes

Contents:

Introduction 2Locating Your Documentation 2Notes About this Release 3Known Issues 5Progress and Resolution of Outstanding Issues 7

Introduction

This document provides information on new and enhanced features that have been introduced intoMapBasic. It also contains sections on resolved customer issues and some remaining known issuesthat are important for MapBasic® users to be aware of.

MapBasic is the programming language that lets you customize and automate MapInfo Pro.

Locating Your Documentation

The table below lists the available MapBasic documents and explains how to access them.

DescriptionDocument

Complete guide on how to use MapBasic. The PDF document can be accessed fromfollowing:

MapBasic User Guide

• View online athttp://www.pbinsight.com/support/product-documentation/details/mapinfo-mapbasic.

• Installs with MapInfo Pro and can be accessed from the Documentation folder inthe MapInfo Pro installation directory.

Complete guide to all MapBasic commands. The PDF document can be accessed fromfollowing:

MapBasic Reference

• View online athttp://www.pbinsight.com/support/product-documentation/details/mapinfo-mapbasic.

• Installs with MapInfo Pro and can be accessed from the Documentation folder inthe MapInfo Pro installation directory.

Includes all of the information in MapBasic Reference plus dialog and menu descriptions.The QT document can be accessed from following:

MapBasic Help

• Click Help, then click Contents in MapBasic.• Installs with MapBasic and can be accessed by running the MapBasicHelp.exeexecutable in the MapBasic installation directory.

2MapBasic 16.0 Release Notes

MapBasic 16.0 Release Notes

DescriptionDocument

MapInfo Pro 64-bit .NET Object Model API. The QT document can be accessed fromfollowing:

Extensibility Reference Help

• Installs with MapBasic and can be accessed by running theExtensibilityReferenceHelp.exe executable in theMapBasic installationdirectory.

API documentation to add Integrated Mapping capabilities to your application. The QTdocument can be accessed from following:

Integrated MappingReference Help

• Installs with MapBasic and can be accessed by running theIntegratedMappingReferenceHelp.exe executable in the MapBasicinstallation directory.

You must have the Adobe Acrobat reader installed to view PDF files. To download a free copy ofthe Adobe Acrobat Reader, go to http://www.adobe.com.

Notes About this Release

MapInfo MapBasic is 64-Bit

This release of MapBasic is 64-bit. As a result:

• The submenus in the MapBasic application under Project > Run have been removed, becausethey are no longer required.

• MapInfoPro.exe is the executable for the 64-bit MapInfo Pro, so MapBasic launchesMapInfoPro.exe by default from the menu or when you press Ctrl-U.

• MapBasic programs compiled as 64-bit cannot be executed with the Windows 32-bit version ofMapInfow.exe.

• Some functions and statements that only work with the older 32-bit versions of MapBasic are notavailable with this release, such as Create Report From Table statement, Graph statement,Open Report statement, and Set Graph statement.

Preview of Layout Undo

We are working on a new feature for the Layoutwindow that lets you undo and redo your last action.This feature is still in development, but a preview is available in MapInfo Pro 16.0.

There are two new MapBasic functions available for performing an undo or redo:

3MapBasic 16.0 Release Notes

MapBasic 16.0 Release Notes

• Set Undo statement turns the Layout Designer window’s Undo feature on or off.• UndoInfo() function returns information about Undo stack functionality for a Layout Designerwindow.

Activating Undo or Redo

To activate this feature, which is hidden by default, you can either run MapInfo Pro from the commandline with a flag to activate Undo for the session or edit the MapInfoPro.exe.config. Configurationsettings apply every time you launch MapInfo Pro, because it reads the configuration file on startup.

To run MapInfo Pro from the command line with the Layout Undo feature turned on:

1. On the Windows Startmenu type cmd in the search field. This opens the command line window.2. In the command line window, change directories (cd) to the folder that has the MapInfoPro.exe

file in it.3. Type MapInfoPro.exe -LayoutUndo to launch MapInfo Pro and activate the Layout Undo

feature.

To edit the MapInfo configuration file and activate the Layout Undo feature in MapInfo Pro:

1. Open the MapInfoPro.exe.config file in a text editor. This file is in the directory whereMapInfo Pro is installed (as an example, C:\Program Files\MapInfo\Professional)

2. Under the appSettings section, remove the comment tags from the following line, <addkey="LayoutUndo" value="true"/>. Changing true to false deactivates this feature(or add comment tags to the line).

How to Perform an Undo or Redo in MapInfo Pro

The Undo and Redo functions are available as ribbon commands on the LAYOUT tab in theClipboard group. You can also perform an undo by pressing Ctrl+Z.

When deleting a frame that does not support the Undo feature, a Confirm Frame Removal dialogdisplays. If you choose Yes to continue, MapInfo Pro removes the frame (or frames) and clears theUndo history. This dialog does not display when using a MapBasic statement to remove one ormore frames (such as for the Remove Designer Frame statement).

What You can Undo and Redo

The Undo feature is still in development, so not all actions can be undone.

You can Undo and Redo after creating or deleting text objects, images, shapes (line, polyline, ellipse,rectangle, rounded rectangle, polygon) and symbols.

You cannot use Undo and Redo when creating a map, browser, legend, or custom frames (includingthe scale bar frame). If you delete one of these frames, a prompt displays as described in the previoussection.

You can Undo and Redo after resizing or moving items on the layout, including the frames mentionedabove. This also applies when using the MapBasic statement Alter Designer Frame.

4MapBasic 16.0 Release Notes

MapBasic 16.0 Release Notes

Known Issues

Behavior Change for LabelOverrideInfo( )

In previous versions, the LabelOverrideInfo( ) function returned indirect information for attributes.When querying for the label override expression, LabelOverrideInfo( )would return an empty stringif the label override was not edited. An empty string indicates that the expression was not overridden.This has a negative side effect when determining label position. If the label position was not changedin the label override, then the return value is zero (0). However, zero means that the label positionwas not overridden or the label position is set to (center, center). The same issue occurs for Boolean(True, False) attributes.

To resolve these, MapBasic now returns the attribute value as it is in the label override. For anexpression, MapBasic returns the label override expression and not an indication of whether it wasedited.

StringByteLength( ) Function Limitation

The new StringByteLength( ) function returns the number of bytes in a string for a given charset.This function works with non-English versions of MapInfo Pro 16.0. It works with all versions ofMapInfo Pro 16.0.1 including the English version.

Align Keyword Clarification and Update

MapInfo Pro 15.2.2 introduced the MapBasic Align keyword as part of the struct declarationstatement to address multiple struct alignment problems in 64-bit, especially with strings. Thisincludes passing a default struct argument that is aligned to the default packing for Visual Studio,which is eight (8) bytes for 64bit platforms and four (4) bytes for 32bit platforms. You do not needto build custom DLLs with a one-byte alignment (/Zp1). This change better supports the DLLs builton 64-bit platforms as well as the default Windows API calls, while still accommodating user specificstruct packing.

Struct alignment issues manifest by passing corrupt struct data members into or out of the DLLcall. MapInfo Pro now assumes a default alignment value that matches the Visual Studio default,so to successfully integrate a MapBasic program with a custom DLL, you should either:

5MapBasic 16.0 Release Notes

MapBasic 16.0 Release Notes

• modify the MapBasic struct declaration to match the alignment value to the DLL (such as Align1);or

• rebuild the DLL using the default struct member alignment (/Zp).

Japanese Characters do not Display Correctly

Japanese characters do not display correctly for after registering a MapBasic tool with the MapBasicTOOLTABL.DLL. This is because the TOOLTABL.DLL delivered with 15.2.x releases supportsUnicode for 64-bit operating systems.

A modified version of TOOLTABL.DLL is included with this release that reverts legacy interfacesback and adds explicit UnicodeWideChar support as separate function and structure definitions(RegisterTool and RegisterToolW).

The workaround on a 15.2.x release is to modify the *.MB to set modify the .MB, specifyingWideChars on the function declaration. The following is an example of this:

Declare Function RegisterTool Lib "tooltabl" WideChars ( ByVal sTitleAs String, ByVal sNote As String, ByVal sLocation As String, ByVal sOwnerAs String, ByVal bAutoload As Logical ) As Integer

In version 16.0, this becomes:

Declare Function RegisterTool Lib "tooltabl" ( ByVal sTitle As String,ByVal sNote As String, ByVal sLocation As String, ByVal sOwner AsString, ByVal bAutoload As Logical ) As Integer

The *W version will be declared as:

Declare Function RegisterToolW Lib "tooltabl" WideChars ( ByVal sTitleAs String, ByVal sNote As String, ByVal sLocation As String, ByValsOwner As String, ByVal bAutoload As Logical ) As Integer

Version 16.0 includes a new MapBasic definition file called ToolTabl.def that contains all thepublic function and data structure definitions exported from TOOLTABL.DLL.

6MapBasic 16.0 Release Notes

MapBasic 16.0 Release Notes

Progress and Resolution of Outstanding Issues

Description and ResolutionIssue Number

There are performance issues with MapCAD SplitToLines.

Resolution: Fixed. The MapBasic Set Table statement has a new Redraw clause thatsuspends redrawing the map when there are changes to a table, such as for insert,

MIPRO-80602

update, or delete operations. This significantly improves processing time depending onthe complexity of the map and the table update action.

For the 64-bit MapBasic, there is a Unicode issue with the string equals operator.

Resolution: Fixed.

MIPRO-84997

7MapBasic 16.0 Release Notes

MapBasic 16.0 Release Notes

3001 Summer Street

Stamford CT 06926-0700

USA

www.pitneybowes.com

© 2016 Pitney Bowes Software Inc.

All rights reserved