ProfileString ( filename, section, key, default )
ProfileString ('app_lore', "stock", "0105", "S")
At some point, your design must be changed. Decide which fix you will implement, code it, test it, QA it, then create a new build. Schedule time to replace the segments/PBDs or DLLs of code that need to be replaced.
In most cases, these segments can be replaced hot, i.e. while users are in the application, and the changes will get picked up the next time the app is started.
Suggestions / ideas / options:
1) Read your INI file at start-up then store the data in one or more application caches.
Use the cache(s) instead of the multiple INI files.
2) From what it looks like, the data in the "app_lore" section really needs to be in a table.
If possible, move the data from the INI file into a table a RETRIEVE your data as needed.
If not possible, come up was a way to distinguish between data segments and revise "app_lore" accordingly.
3) Offer the users an option to select & read the INI file they need with a GetFileOpenName.
Good Luck,
Olan