Jimmy, about converting code page, I have a lot of text (ascii) files coded in DOS 852 and also Win1254 code page, in some cases also in one txt file is mixed both cp.
When I do full text search in this files I must detect code page and then decode to Win1250 when need, or remove diacritics to found text that can be with or without code page.
Also when I do generate PDF od XLS from this data I must convert it when are in DOS 852.
But I will look what you advice to use UTF8
Also I can work on divide PRG files to smaller, because sometimes it is hard searching something in it.
Memory exhausted when exe is bigger than 20MB
Re: Memory exhausted when exe is bigger than 20MB
when install ADO you can direct read/write XLSx with HBFM
did you have e a Cross-Reference of your Function / Procedure

did you use MEMVAR "over all" *.PRG

i just can give you same Tip as i told Eugene : split your Source into "one Function -> one PRG"
i gave Eugene this Code to split Aidos after generate 795 *.PRG i use CLICK to analyze it and generate Header for each *.PRG and a Cross-Reference.
each Variable in a PRG must be declare. i recommend LOCAL and PRIVATE/ PUBLIC must be declare as MEMVAR "on Top of PRG"
create a *.XPJ for all *.PRG
add missing LIBs
greetings by OHR
Jimmy
Jimmy
Re: Memory exhausted when exe is bigger than 20MB
Jimmy,

You must be kidding?split your Source into "one Function -> one PRG"

Re: Memory exhausted when exe is bigger than 20MB
Jimmy, this can be not wrong advice , once I decompiled one old Foxpro application, and decompiler make me many many PRG files, one prg = one function . I do not know if original source was same or only decompiler generate it.
But it will be very coplicate to have overview in that source.
It is true, i have mess in my source, not all variables are defined as local, (undefined), and you have true, i have not defined PUBLIC variables as MEMVAR,
this poss many warnings when compiling (because i disable warnings
)
I will try input MEMVAR for all PUBLIC and PRIVATE , and test compiling. many thanks for you.
But it will be very coplicate to have overview in that source.
It is true, i have mess in my source, not all variables are defined as local, (undefined), and you have true, i have not defined PUBLIC variables as MEMVAR,
this poss many warnings when compiling (because i disable warnings

I will try input MEMVAR for all PUBLIC and PRIVATE , and test compiling. many thanks for you.
Re: Memory exhausted when exe is bigger than 20MB
NO ... that is "only" 1st Step.
every Function must be documented so i write a Header (by CLICK)
after run CLICK to generate Cross-Reference you can move all Function/Procedure which is "called from" once to other *.PRG
i understand when People have Problem "to search" when have 795 *.PRG ... while have and no Cross-Reference

so write "your Code" that "other" People can work with it

p.s. i most use CLASS Code so all Method, Property and Events are in same PRG
greetings by OHR
Jimmy
Jimmy