User Tools

Site Tools


guides:platformdif

Platform Differences

Documentation | Platform differences

Difference between DK11 editions which is forced by platform specifics.

DK for Delphi

  1. On iOS and Android all objects are disposed automatically.
  2. On Win32, Win64, and macOS objects 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. needs a construction.

DK for ActiveX

Due to limitations of COM/ActiveX this edition is in some aspects significantly different to other platforms. However, we made a huge effort to minimize those differences and make it as similar to DK for .NET 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. needs 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 to use Int64 code app will not be limited to 32bits uids.
  5. No methods 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 will paramters 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 methods overloads. Overloaded methods are named as MyMethod, MyMethod_2, MyMethod_3, a nd 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/01/23 13:50