|
7.x: Localized resource strings are not loaded correctly when compiling application with EurekaLog
Posted by Aleksandr Alekseev on 29 September 2025 13:48
|
|
Problem:After upgrading from EurekaLog 7.12.0.5 to EurekaLog 7.14.0.0, localized resourcestrings are no longer correctly loaded when compiling VCL application with EurekaLog. Localized forms are loaded correctly, but resourcestrings remain in their original values or simply empty. When compiling without EurekaLog, everything works as expected. Reason:1. When you add/remove EurekaLog from your project: list of resourcestrings in your project changes, because EurekaLog also has resourcestrings. The same thing may happen when you change EurekaLog version, as the different EurekaLog's versions may have different resourcestrings. Changing list of resourcestrings can cause changing IDs of resourcestrings. For example, a particular resourcestring rsCaption may have the ID of 1 in your project. When you add, remove or change EurekaLog in your project, the rsCaption may get ID of 99. However, your localization project still contain localization for the ID 1 (not 99). Which means your application will fail to load translation for the ID 99 from your localization project, as your localization project does not have translation for ID 99; it has translation for ID 1. This will cause the rsCaption to become empty, remain unchanged, or receive an incorrect value.
2. Alternative reason could be you are not using ITE to auto-load the resource DLL to match the UI language. Rather you wrote a code to manually force-loading a specific resource DLL by altering the .ResInstance property of a module. However, the .ResInstance property is not used directly to load resourcestrings. Rather it is stored (on demand) into internal hashed list of resource modules. Solution:1. You have to update your localization projects. Use the "Project" / "Languages" / "Update Localized Projects" IDE's menu item, then do "Project" / "Build All Projects". This should sync your resourcestrings IDs. Just make sure you deploy new versions of your localization binaries. 2. If you are dynamically changing resource DLL's, the SysUtils module provides the ResStringCleanupCache function to purge the internal cache of loaded resource strings. Which will cause the new (updated) .ResInstance property to be stored into the hashed list. EurekaLog also has a similar cache for resource strings, which also has to be purged. There is a similar ResStringCleanupCache function in the EResourceStrings unit. In other words, your code should look something like this: uses
...
SysUtils,
{$IFDEF EUREKALOG}EResourceStrings,{$ENDIF}
...
begin
...
// Load new resource module:
CurModule.ResInstance := LoadLibraryEx(PChar(ResModuleName), 0, LOAD_LIBRARY_AS_DATAFILE);
// Cleanup internal cache of loaded resource strings:
ResStringCleanupCache; // will call the EResourceStrings.ResStringCleanupCache or SysUtils.ResStringCleanupCache
...
| |
|
|
|
Do you have a spam problem on this site; I also am a blogger, and I was wondering your situation; many of us have developed some nice practices and we are looking to trade methods with others, why not shoot me an e-mail if interested.
https://teletype.in/@avtobloggerua/1SUSkePkQys
Do you have any video of that? I'd want to find out some additional information.
<a href=https://clgmermoz-savigny.fr>Betify France</a>
<a href=https://wishzmsg.com/green-tech-innovations-leading-the-way-to-a-sustainable-future/>OneConverter</a>
<a href=https://intothepixel.com/how-to-convert-inches-to-centimeters/>OneConverter</a>
Zoo porno ---->>>
<a href=https://ck999.org/en-BD/>zoo porno</a>
WOW just what I was searching for. Came here by searching for %meta_keyword%
<a href=https://www.webopedia.com/crypto-gambling/reviews/>buy cannabis online for xxx adult porn video</a>
Hi are using Wordpress for your site platform? I'm new to the blog world but I'm trying to get started and set up my own. Do you require any html coding knowledge to make your own blog? Any help would be really appreciated!
<a href=https://yeloarchitects.com/>librabet login</a>
Hi there, for all time i used to check blog posts here early in the break of day, for the reason that i enjoy to find out more and more.
<a href=https://sitegpr.com/>betify casino</a>
Hello there! This is kind of off topic but I need some help from an established blog. Is it tough to set up your own blog? I'm not very techincal but I can figure things out pretty quick. I'm thinking about setting up my own but I'm not sure where to start. Do you have any tips or suggestions? Appreciate it
<a href=https://mrq.com/mobile-slots> เว็บไซต์หลอกลวง กลุ่มมิจฉาชีพ </a>
<a href=https://memorialpanel.ru/memorialnye-doski-geroyam-svo>изготовление доски участнику СВО из композита</a> Доски и таблички мемориальные участникам СВО
<a href=https://raspred.pro/product-category/remont-gidronasosov/>Ремонт импортного шестеренчатого насоса</a> Гидравлическое оборудование: подбор, поставка и сервис Мы специализируемся на продаже гидронасосов любого типа: аксиально-поршневые, шестеренчатые модели от надёжных брендов. Поможем подобрать идеальный вариант под ваши параметры давления, производительности и присоединительных размеров. Также в нашем ассортименте — высокомоментные гидромоторы для ходовых систем спецтехники, промышленных станков и другого оборудования. Отдельное направление — шестерёнчатые насосы. Это практичное и бюджетное решение для систем с умеренным давлением. Предлагаем большой выбор надёжных модификаций под любые задачи. Есть потребность в ремонте? Сервисный центр проведёт диагностику и профессионально восстановит гидромоторы и насосы любой сложности. Используем современный стендовый парк, оригинальные детали либо их сертифицированные аналоги. Гарантируем качество выполненных работ. И конечно, у нас всегда можно купить запчасти для гидронасосов и гидромоторов — как со склада, так и под заказ: уплотнители, подшипники, валы, блоки, роторные группы, ремкомплекты и другие комплектующие для планового обслуживания и капитального ремонта гидравлических насосов.
<a href=https://v-kosmose.com/gadanie-onlajn/est-li-u-nego-drugaya-na-kartah-taro/>нужна ли я ему гадание</a> Особое место в этом поиске занимает "Екатерининское гадание", использующее 40 карточек, которое, по преданию, обладает особой проницательностью в вопросах любви и верности. Стремление к ясности распространяется и на понимание общей картины происходящего, на предвидение будущего, которое еще только формируется.
