User Tools

Site Tools


guides:platformdif

Platform Differences

Documentation | Platform differences

Differences between DK11 editions that are forced by platform specifics.

DK for Delphi

  1. On iOS and Android, all objects are disposed automatically.
  2. On Win32, Win64, and macOS, object disposal is a programmer responsibility.

DK for .NET

  1. All objects are disposed automatically.

DK for Java

  1. All objects are disposed automatically.
  2. Records are not supported. All “records” are represented as objects. As a result, all features like TGIS_Point etc., need a construction.

DK for ActiveX

Due to limitations of COM/ActiveX, some aspects of this edition are significantly different from other platforms. Despite this, we make a huge effort to minimize these differences to make the DK for ActiveX as similar to the DK for .NET edition as possible.

  1. All objects are disposed automatically.
  2. Records are not supported. All “records” are represented as objects. As a result, all features like TGIS_Point, etc. need a construction.
  3. No class methods. Instead of calling:
    ptg = TGIS_Utis.GisPoint(1,1)

    a full utils object construction is required:

    Dim utils = new TGIS_Utis()
    ptg = utils.GisPoint(1,1)

    or:

    ptg = (new TGIS_Utis().GisPoint(1,1))

    However, please remember that if you use it within a loop is more efficient to declare a reusable object outside the loop.

  4. VB6 does not support Int64 type. As a result, we map all Int64 calls to a simple Integer type. However, all references to UID are mapped to Variant. As a result, on platforms capable of using Int64 code, the app is not limited to 32bits UIDs.
  5. No method overloads. Overloaded methods are named as MyMethod, MyMethod_2, MyMethod_3, and so on.
  6. No constructors. COM platform supports only one standard, parameter less constructor. Constructors with parameters are simulated by methods called Create_.
    Dim shp = new TGIS_ShapePoint()
    shp.Create_( TGIS_DimensionType.XYZ )
  7. Activex has no generics, so any use of the generic list is replaced with custom list objects:
    • TList<String>TGIS_StringList
    • TList<TGIS_Layer>TGIS_LayerList
    • TList<TGIS_Shape>TGIS_ShapeList
    • and so on.

DK for Editor

  1. No method overloads. Overloaded methods are named as MyMethod, MyMethod_2, MyMethod_3, and so on.
  2. Editor scripting has no generics, so any use of the generic list is replaced with custom list objects:
    • TList<String>TGIS_StringList
    • TList<TGIS_Layer>TGIS_LayerList
    • TList<TGIS_Shape>TGIS_ShapeList
    • and so on.
2019/09/19 14:23