User Tools

Site Tools


readme:knownissues:delphi

DK for Delphi

Documentation | Known issues | DK for Delphi

Displaying sample layers

To display a layer from the folder with TatukGIS Samples data, please add GisAllLayers unit or GisAllBasicLayers unit. Otherwise only very few standard formats, like SHP, GML, JPG, WMS, and WMTS, are supported.

Deployment Configuration

To run the Android/iOS/OSX application properly, please remember about correct Deployment configuration: do not use absolute path in the project:

  • paths are case sensitive ;
  • change Remote Path to StartUp\Documents\ (for iOS platform) or assets\internal\ (for Android platform)

Note: After a local change of file content/name, it is recommended to uninstall the application manually.

C++ usage of TGIS_ObjectList

TGIS_ObjectList is based on generics and, due to bugs in C++Builder, such an object cannot be deleted on the C++Builder side. A source of the problem is that generics destructors in Delphi are inlined and therefore cannot be properly called/expanded from C++ code. A workaround is to free such object using DK helper function FreeObjectNotNil See C++ version of the SplitByArc sample

TGIS_ObjectList can not be instantiated on C++ sites due to limitation described in RAD Studio documentation: How to Handle Delphi Generics in C++. Therefore the use of TGIS_ObjectList is limited to list returned by DK API.

VCL

PNG images looks strange

Some PNG images (also fetched from web services like WMS & WMTS) look somehow bad having a dark hollow around features and texts. The problem is related to a bug in Delphi TPngImage class which improperly handles the transparent palette. So only PNG 8, 4 bits per color are affected. A workaround for web services is to ask for “image/png24' or image/png; mode=24bit;”. You can also apply this fix: RSP-16446 and vote.

FMX

Rendering errors

If you encounter any of these problems on Windows:

  • Lights in 3D are strange and generally wrong (no shadows but intensive color shade only)
  • Buttons or a toolbar are blinking black upon mouse moving

The most common cause is a buggy DirectX 11 driver. In such a case, just force a no DX11 driver by placing this line in your .dpr file:

  FMX.Types.GlobalUseDX := False; // PLACE THiS LINE
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

If the problem still persists, try also to switch to software rendering by disabling DirectX entirely:

  FMX.Types.GlobaluseDirect2d := False; // PLACE THiS LINE
end.

Those problems are not a bug in terms of the Developer Kernel. The bug(s) is located elsewhere and we have no influence on resolving it.

iPad Pro M1 is slow

By default, FMX uses OpenGL on iOS which is not optimized on iPad Pro 3gen. It is not our nor Embaradero issue. Similar reports are available from users complaining that their apps (eps. games) are unusable after upgrading to an M1 based iPad.

Fortunate with RAD Studio 11 application can be compiled with Metal by placing this line atin the .dpr file

  FMX.Types.GlobalUseMetal := True; // PLACE THiS LINE
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

HiDPI

VCL

We made an effort to support HiDPI even on an older version of RAD Studio. However, due to some internal limitations, reliable support is available on RAD Studio 10.1 Berlin or newer. In the older version way how forms are presented depends if HiDpi monitor is a main monitor or not. As a result, we strongly recommend disabling HiDPI, if you do not run at least RAD Studio 10.1 Berlin.

RAD Studio 10.2 Tokyo fixes a few more issues like the improper size of forms captions and therefore it is a recommended minimum version.

FMX

Generally, it works as expected. However, if you encounter endless form flashing upon moving a form between monitors with different DPI - do not blame us, instead please vote forRSP-18270. UPDATE: RAD Studio 11 resolves most issues.

HTTP data fetching

When connecting to web services, we try to use the Embarcadero native and cross-platform THTTPClient class instead of WinInet API. Therefore a basic access authentication by prepending username:password@ to the hostname in the URL may not work correctly. Instead, USER and PASS authentication parameters should be added to the url after? as key-value pairs.

Using THTTPClient can cause problems with connecting to some HTTPS services and handling the security certificates. Therefore to use legacy WinInet API, a user can disable the USE_NEW_HTTP_CLIENT define in GisInclude.inc source.

SSL/TLS restriction

On Windows 7 and Windows 2008 R2 TLS 1.1 and TLS 1.2 are not the default security protocols. Using THTTPClient connection the ENetHTTPClientException Error may occur during sending data: (12175) A security error occurred. This Microsoft page has the answer and the Easy fix to run and download from https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi

Android

Intel devices

Running Android Firemonkey application on Intel-based devices. You can try the steps from the link below, but so far we have tested this only on an emulator.

The result of this test showed it is possible to run the application, but there is a problem with debugging. http://blog.marcocantu.com/blog/2015-october-running-android-intel.html

HTTP problems

Starting with Android 9 (API level 28), cleartext support is disabled by default and network requests to http web services will not work. The solution is to modify the AndroidManifest.xml and enable usesCleartextTraffic by adding :

android:usesCleartextTraffic="true"

either to <application> section or as a separate network security config file.

Version specific problems

10.2 Tokyo

  • Rendering 3D map in FMX on Mobiles
    Due to a bug introduced in RAD Studio 10.2 rendering 3D is rendered only partially. If it is crucial for you, please step back to 10.1 Berlin. Also, you are welcome to vote on RSP-18365.
    RAD Studio 10.3 Rio resolved this problem.
  • Polygon rendering on Android
    The original version of Tokyo properly renders complicated polygons on Android. However, later fixes introduce a serious bug in rendering. Still not resolved. You can vote at: RSP-18492. The only known workaround is to step back to version Berlin 10.1.
    RAD Studio 10.3 Rio resolved this problem.
  • BPL Incompatibilities
    Installation on Tokyo requires BDS Update 2 (build 2004). Please download it from RAD Studio, Delphi, C++Builder 10.2 Release 2. If this update is missed an error “missed entry point” is likely to occur.

10.3 Rio

  • Due to RAD Studio 10.3 bug, a compiled application can crash on WindowsXP. You can vote at:RSP-21822. Unfortunately, the same bug blocking any Direct2D multithreading, and therefore using basemaps causing fatal errors. A workaround is to compile Rio app with VCL.Direct2D.pas unit from a previous version of RAD Studio. UPDATE: Rio 10.3.2 resolved this issue
  • An Android application compiled with RAD Studio 10.3.1 will crash on any threads code utilizing TNetHttpClient or THttpClient. For example, any Webtiles layer will crash or hung-up. Please visit this Embarcadero bug report  RSP-23742 and apply the suggested patch. UPDATE: Rio 10.3.2 resolved this issue.
  • RIO 10.3.2 is not fully compatible with 10.3.1 and 10.3.0. DK 11.32 and newer are compiled with RIO 10.3.2. Therefore installing this version on a previous version of RIO can cause issues upon loading BPL like: @System@Classes@TFieldsCache@$bcctr$qqrv. There is nothing we can do - we migrated all our RAD Studios to 10.3.2. If you must stay with the previous version of RIO then you should be patient - we must wait for an official fix.
2022/01/22 09:48

Page Tools