Page 1 of 3

Memory exhausted when exe is bigger than 20MB

Posted: Wed Nov 04, 2020 12:31 am
by Victorio
Hi,
yesterday I had again problem with error when compiling my application. After include some new functions exe code was near 20MB.
Break PRG to smaller parts not help. Help only delete some unused functions that was in source by years .
Have somebody Xbase++ exe module bigger than 20MB and work fine ?
Xbase++ workbench break when compiling with error System memory exhausted

Re: Memory exhausted when exe is bigger than 20MB

Posted: Wed Nov 04, 2020 12:55 am
by Tom
We do have big EXEs and DLLs (> 60 MB). No problems at all. There was a memory problem with the linker of 1.9 SL1 with Windows 10, and if you still use 1.9, you should get the linker from 2.0, which works well and solves this problem.

Re: Memory exhausted when exe is bigger than 20MB

Posted: Wed Nov 04, 2020 1:11 am
by Eugene Lutsenko
Hi, Tom! I started thinking about switching from 1.9 to 2.0. But it costs money. I work as a University Professor. The last time I bought Alaska 1.9 and Express++ through the University (or rather, he bought it) was already in 2012. This was done through a Russian firm that has long been gone. Could you tell me what to buy in Alaska 2.0 and Express++ to smoothly switch from 1.9 to 2.0? how Much will it cost? And how to do this if I live in Russia and the University does not have international payments. I don't have any money for that.
https://kubsau.ru/education/chairs/comp ... taff/3965/
https://kubsu.ru/ru/public-portfolio/39926

Hey, Tom! Ich fing an, über den übergang von 1.9 zu 2.0 nachzudenken. Aber das kostet Geld. Ich arbeite als Professor an der Universität. Das Letzte mal kaufte ich Alaska 1.9 und Express++ durch die Universität (genauer gesagt, er kaufte) bereits im Jahr 2012. Es wurde durch eine russische Firma gemacht, die es schon lange nicht mehr gibt. Könnte mir bitte sagen, dass es notwendig ist, in Alaska 2.0 und Express++ zu kaufen, um nahtlos von 1.9 auf 2.0 zu wechseln? Wie viel wird es Kosten? Und wie man es macht, wenn ich in Russland Lebe und die Universität keine internationalen Zahlungen hat. Und ich habe überhaupt kein Geld dafür.
https://kubsau.ru/education/chairs/comp ... taff/3965/
https://kubsu.ru/ru/public-portfolio/39926

Re: Memory exhausted when exe is bigger than 20MB

Posted: Wed Nov 04, 2020 1:13 am
by Eugene Lutsenko
Victorio wrote: Wed Nov 04, 2020 12:31 am Hi,
yesterday I had again problem with error when compiling my application. After include some new functions exe code was near 20MB.
Break PRG to smaller parts not help. Help only delete some unused functions that was in source by years .
Have somebody Xbase++ exe module bigger than 20MB and work fine ?
Xbase++ workbench break when compiling with error System memory exhausted
I have the same problem that I discuss in the next topic. My exe module reached about 21 MB and stopped compiling (prg file 127671 lines: http://lc.kubagro.ru/__AIDOS-X.txt).

In addition, it does not work well under Windows 10, settings are required, and still sometimes it does not work. Some notes about the operating system.

In MS Windows 7, the Eidos system simply works without any problems. However, in order for it to work properly in MS Windows 8 and especially MS Windows 10, you need to make some security settings:
0. first of all, configure Windows 10 to allow installation of reliable software not from the Microsoft Store.
1. Enable compatibility mode with MS Windows 7.
2. Disable the protection screen for the "Eidos" system.
3. Enable a weak security level.
4. Give the folder with the "Eidos" system administrator rights.
5. Give the folder with the system "Eidos" rights to write files.
6. The folder with the "Eidos" system should not be located in system folders and folders that have a space or Cyrillic in their names.
7. it is Best when the "Ailos" system is located on a separate disk specially created for it.
8. MS Excel versions from 2003 to 2010 must be installed on the computer.
9. in Addition, to ensure normal operation with cloud Eidos applications, cartographic visualization of places where the Eidos system is launched in the world, you must allow FTP read and write access on the computer.
10. If at startup the file ___START_AIDOS-X.exe if an error occurs, you can try running the system's executable module directly: __AIDOS-X.exe.
11. you can install Windows 7 as a virtual operating system under Windows 10 (on Virtual Box). Then everything will work without the need for other settings.
PS
in General, I believe that the operating system should just run programs for execution, and not fool around and create various problems with it, like MS Windows 10.

Re: Memory exhausted when exe is bigger than 20MB

Posted: Wed Nov 04, 2020 3:32 am
by Victorio
Eugene, thanks for reply, now I see, not only my problem, and it is important, that size of EXE is critical about 20MB.

I work on Windows 10 64bit version and last update and Xbase++ is version 2.0 build 554, that compiler is version Xbase++ (R) Compiler 2.00.554 Sep 29 2014
At this moment I reduced source and can compiling to exe size 19.529MB without error.
When problem occur again , I will try compile in Windows 7 compatible , or on other PC where I still have Windows 7, but its performance is lower than my main computer.

Tom : are you compiling/linking apps on Windows 10 too ? When yes, than can be something wrong in my project file or I use many arrays, variables etc. Also I use eXpress, SQL Express++, Xb2Net dlls.
Or Xbase++ build 554 is too old... ;) but upgrade to last build is too much expensive to me at this moment...

By the way, older problem with run apps when on Windows 10 is set font to 125€ and high resolution, where then EXE not start, this problem still Microsoft have . Screenres.dll module or change resolution to lower and back default still helps.

Re: Memory exhausted when exe is bigger than 20MB

Posted: Wed Nov 04, 2020 10:08 am
by Auge_Ohr
hi,

does Xbase++ have a DGROUP :?:

under Cl*pper i have break my PRG into Overlay but still crash
it was my DGROUP which fail.

every Variable which are not declare will be a PRIVAT MEMVAR ... so DGROUP might exceed

Re: Memory exhausted when exe is bigger than 20MB

Posted: Wed Nov 04, 2020 10:50 am
by Eugene Lutsenko
Tom wrote: Wed Nov 04, 2020 12:55 am We do have big EXEs and DLLs (> 60 MB). No problems at all. There was a memory problem with the linker of 1.9 SL1 with Windows 10, and if you still use 1.9, you should get the linker from 2.0, which works well and solves this problem.
How can I get this 2.0 linker? Will it work with source code written in Alaska 1.9 + Express++?

Re: Memory exhausted when exe is bigger than 20MB

Posted: Wed Nov 04, 2020 11:29 am
by rdonnay
does Xbase++ have a DGROUP
DGROUP was an area of memory that was never swapped out in 16 bit applications.
Xbase++ does not have that, however it may have a limit on the size of the symbol table.

You should use Private and Local variables whereever possible.

Also use STATIC functions where possible.

Re: Memory exhausted when exe is bigger than 20MB

Posted: Thu Nov 05, 2020 12:56 am
by skiman
Hi,

Our application is currently an EXE of 65Mb. So I don't think the 20Mb. is a limit. The source code is divided in about 20 PRG files. I'm using 1.9 and Windows 10. I don't have any problems to compile.

Re: Memory exhausted when exe is bigger than 20MB

Posted: Thu Nov 05, 2020 1:59 am
by Tom
So I don't think the 20Mb.
We also have much bigger EXEs, so it must be something in the source code creating memory consumption during the compilation, like huge string constants, tons of vars or whatever. Take your problem to Alaska, Victorio!