613-518-1166 info@zimdatabases.com

Migrating to Zim 9

Compatibility Issues

< All Topics

Backwards Compatibility

Zim 9 is designed to be backward-compatible with previous versions. However, it may be necessary to modify object names in an existing Zim 8.x or earlier database to avoid conflicts with new fields, constants, and keywords that have been introduced into newer versions of the Zim language.

The first time you run the Zim IDE in a new Zim version, Zim automatically creates these fields and constants.

Running the version of ZIMINIT shipped with Zim initializes new databases containing any new fields and constants.

This document presents changes to each Zim version in chronological order,  starting at Zim 4.x . Since changes are cumulative, it is recommended that you read the whole document.

Migrating from Zim 4.x to Zim 7.x

Zim 4.x developers should read Migrating from Zim 4.x to Zim 7.x. This document details the changes to the Zim Language and User Interface since version 4.2.

Introduced in Zim 5.1

A number of new keywords and data dictionary objects were introduced in Zim 5.1.

  • $dirpath
  • $filebrowse
  • $fileprint
  • $getproperty
  • $printersetup
  • $screenprint
  • $screensave
  • $setproperty
  • $squeeze
  • print
  • Introduced in Zim 5.2

    Zim 5.2 required a minor conversion for users of client-server systems. This conversion is described in detail in the section “Client-Server – Remote Name Mapping”. The conversion is performed automatically the first time the Development Center or Screen Painter is accessed.

    Several new fields, constants, and keywords were introduced into the language which should be checked to ensure that they do not conflict with existing object names.

    Several new fields were added to support remote object names:

    Owner Name Field Name Type Length

    EntitySets

    RemoteOwnerName

    varalpha

    128

    Relationships

    RemoteOwnerName

    varalpha

    128

    EntitySets

    RemoteName

    varalpha

    256

    Fields

    RemoteName

    varalpha

    256

    Relationships

    RemoteName

    varalpha

    256

    New constants that are used as arguments to SET commands are: TableType, RemName and RemOwner.

    A constant, $ODVersion, was added to track the version of the object dictionary.

    A new keyword was added: DefaultType.

    The first time that you run the Development Center or the Screen Painter in version 5.4, Zim automatically creates these fields and constants. Running the 5.4 version of ZIMINIT to initialize new databases also creates these fields and constants.

    The following system EntitySet fields have been flagged not required.

    Owner Name Field Name(s)

    FormFields

    BC, FC, Row, Col, Wdth, Hght

    Forms

    Wdth, Hght

    DisplayForms

    Row, Col

    Displays

    Wdth, Hght

    Menus

    BC, FC

    Windows

    BC, FC, Row, Col, Wdth, Hght

    Any compiled code that updates these system EntitySets needs to be recompiled. Also, care must be taken to check for nulls when comparing the values of these fields.

    Introduced in Zim 5.4

    The LogDefinitions system EntitySet was introduced in Zim 5.4. It is Zim file zim0087.

    Its structure is described in section 1.6.1.

    A new Zim 5.4 system variable is $SQLpath.

    A new constant that is used as an argument to the SET commands is LogDefinitions.

    Two new constants describing the color of 3D widgets on Windows 95 are C3DObjectColor and C3DObjectTextColor.

    Introduced in Zim 5.5

    Zim 5.5 introduced the following keywords: class, endclass, method, and endmethod.

    Introduced in Zim 5.6 and Zim for Windows 2.0 (Aria Zim)

    Zim 5.6 introduced the following new keywords:

    Buffer_Size

    ColName

    ColType

    Column_Def

    Column_Name

    Column_Size

    Column_Type

    Data_Type

    DDEnts

    DDFlds

    Decimal_Digits

    Dir_Path

    EntDirPath

    EntFileNum

    EntName

    EntObjectType

    EntRecordSize

    File_Num

    FldDecimals

    FldDirType

    FldFieldName

    FldIndexSubFile

    FldIndexType

    FldLength

    FldOffset

    FldOwnerFileNum

    FldRTType

    FldVField

    Graphic

    Index_Type

    Is_Nullable

    Nullable

    Num_Input_Params

    Num_Output_Params

    Num_Rec_Radix

    Num_Result_Sets

    NumInputParams

    NumOutputParams

    NumResultSets

    Offset

    Ordinal_Position

    Owner_File_Num

    Precision

    Procedure_Cat

    Procedure_Name

    Procedure_Name

    Procedure_Schem

    Procedure_Schem

    Procedure_Type

    Radix

    Record_Size

    Remarks

    RemoteProcName

    RemoteProcedures

    ResultFields

    ResultName

    ResultSets

    ResultType

    Scale

    SetSN

    SQL_Data_Type

    SQL_DateTime_Sub

    SQL_Octet_Length

    StoredProcedures

    StProcColumns

    StProcName

    Table_Cat

    Table_Name

    Table_Schem

    Table_Type

    Type_Name

    TableColumns

    Tables

    Zsv_Type

    Zim for Windows 2.0 (also known as Aria Zim) introduced the following new keywords:

    $pagesetup

    $RightClickMenu

    MousePointer

    Toolbar

    Was this article helpful?
    0 out Of 5 Stars
    5 Stars 0%
    4 Stars 0%
    3 Stars 0%
    2 Stars 0%
    1 Stars 0%
    How can we improve this article?

    Submit a Comment

    Your email address will not be published. Required fields are marked *

    Table of Contents