SetThreadLocale para toda la aplicación Delphi

Mi programa Delphi (XE 10) utiliza una base de datos Firebird heredada no unicode (un byte) (juego de caracteres NINGUNO) y, por lo tanto, sus datos (que se leen o guardan en la base de datos) dependen de la configuración regional de Windows para los programas no unicode. Dependiendo de esta configuración de Windows, el mismo carácter de base de datos se puede mostrar en el programa como \ u0101 (eso es correcto) o \ u0432 (eso no es correcto). IBX sirve como tecnología de acceso DB.

Mi programa funciona solo para el local específico para programas no unicode y eso es aceptable para el cliente. La pregunta es -¿Cómo puedo hacer que el programa sienta la configuración regional predefinida específica independientemente de la configuración de Windows?

Supongo que debería usarSetThreadLocale para esto. Pero¿Dónde poner esta llamada? ¿Es suficiente llamar a esta función en la sección de inicialización del formulario Principal o debería llamarla en el archivo fuente del proyecto (donde se inicializa la aplicación) o tal vez debería llamarla en las secciones de inicialización de cada módulo?

Debido a los comentarios me hicieron saberGetThreadLocale devuelve un valor diferente que GetUserDefaultLCID? Ahora veo que debería escribir un poco más de código:

SetThreadLocale(my_preferred_locale_id); 
SysLocale.DefaultLCID := my_preferred_locale_id; 
GetFormatSettings;

Pero la pregunta principal sigue siendo: dónde poner este código, ¿debería ponerlo en varios lugares? Tengo la aplicación WebSnap y supongo que puede tener una gestión automática y compleja de la banda de rodadura debajo del capó. ¿Dónde debe ir el código?

Nada ayuda:

agregando lc_ctype = WIN1257 a TIBDatabase.Paramsconfigurando SetThreadLocale ... aquí, allá y en todas partesConfiguración de opciones de proyecto - Información de versión - Idioma - ID de configuración regional

https://github.com/xupefei/Locale-Emulator Locale Emulator es la única herramienta que resuelve el problema, pero ¿por qué Delphi no permite hacer esto sin una herramienta externa?

Respuestas a la pregunta(1)

Su respuesta a la pregunta