But we are running in a dead end.
Our outline space shows 0% free and the module is not compiling any more.
We have over 90 modules compiling to a APD each of them.
We have so many Functional Classes that we reach the maximum allowed memory size for the outline space.
We cannot remove some of the Functional Classes, because they all depend on each other. We already moved the most of the dialogs and forms into other modules to decrease the use of the outline space but the Functional Classes are the main issue.
We've testet it in TD 5.0, here the outline space is absolutly no issue and would be the solution, but we cannot switch the compiler without a mess of effort.
Is it possible to get an emergency patch to extend the memory of the outline space???
Thank you very much for your support
Unless there's something I don't know, you really have only the 2 options that you mention:
1 - You will need to break the code down, for instance if and as you can divide the code into separate EXEs. I once saw a customer's code where there was a 'main' appl. EXE and each major drop-down menu's contents was in its own separate EXE. When a menu was selected, MAIN.EXE used SalLoadApp() to call that menu's SUBMenuX.EXE and passed along a parm. indicating which submenu item had been selected.
If you can somehow organize the Funct. Classes into groups of related or cascading functionality, then maybe a separate EXE or EXEs might work. This is only 1 thought, of course. And I do realize from your description how monumental a task more major shuffling of your code might be
2 - Upgrade to a newer TD. From your text you found out that Gupta did a lot with memory mgmt. in later version. Not sure you can still get TD v5.2 from them, though, so you'd need to check with your sales rep. about that and if you upgraded it might need to be to a TD v6.x version.
NOTE TOO that if you upgraded you'd likely run into other issues: Unicode being one of the main ones other customers ran into when the upgraded to v5 or later from v4.2 or earlier.
As tough as it might be, the lesser of 2 evils might be to rearrange your code and stay with v4.2 and the latest PDF for that version.
but oddly I don't see where the 2005.2 (I think that's v4.2) list of downloads is when I click the 'Older' link on that page bottom of the right-most column.
Palm Springs, California
@Jeff: your first item to rearrange our code seems to be a solution.
Unfortunately our code consists of houndreds of generated classes which represents a datalayer to our database, like a dataset or entity framework. They all have relations to each other indicating the forreign key relations ... and therefore the only solution could be to minimize the number of functions in each of these classes. Unfortunalety the number of classes itself cannot be reduced ... unless we reduce the number of tables we have in our database schema
your second point is to change to a newer TD version. We already tested going to a new release, but we have a lot of relation to winapi calls and to other kind of string parameters where we have to change all that stuff regarding unicode like you mentioned it. We already switched from TD 1.5 to 3, 4, and 4.2 but the barrier to TD 5 and higher costs a lot of more effort than before
In the end we still have to challenge the number of dialogs and formulas (in sum over 3500 items) or the number of functional classes. I hoped that we could get soimething like an emergency patch ...
Thank you for your advice, but what do you mean by removing that all formats? If we include several Libraries, the formats are ignored. Just tzhe main format section ind our APL File which results in an APD file are used. And these formats do not touch the outline space at all ...
Or do I understand something wrong ... maybe you have a complete new solution for our issue
Thank you very much
Years ago in the 1990's when I worked for the original Gupta, began the education dept. and did training (so I interacted with a lot of people), and did some consulting for various customers, as I recall I saw a couple instances perhaps where a customer got to be so in 'love' with Functional Classes (FC's) that s/he would convert practically everything into a Class, even if there was going to be only 1 instance of that class in the code. OR... perhaps wrote something as an FC, just in case, but never used the class.
Is this perhaps what you might have done? Seems to me that if there are examples where a class is instantiated only one time (or maybe there are FC's that were defined but never instantiated?) then to shorten your FCs' declaration, remove unused ones and for only 1 or 2 instances of an FC being used, 'un'-FC the instances and move the code to the instance itself, then delete or comment out that FC so at least there's an audit trail of the class(es) that was/were defined but were undone. My guess is this might be easier to do this for object/control classes than for abstract FC's, where you are managing data structures.
I know you want an 'easy' quick "fix-it Gupta" solution but that won't happen for v4.2. To fix this you will need to slog through your code, BEING SURE TO first save all you original source before changing it.
Palm Springs, California
I cannot count how often we have tried to clean up the code, moving Dialogs and Formwindows in Dynalibs and so on ...
But maybe we have the chance to we could focus a bit on your last idea by remving some of the FCs. But this session will end up in a kinf of boot camp
I will inform you if we have a solution ...
Please do, Andrej, by replying directly to this Forum message thread. With any info. you can provide out here in this public Forum area, other TD/CTD users might be helped by what you learn. Thanks!I will inform you if we have a solution ...
Palm Springs, California
Who is online
Users browsing this forum: [Ccbot] and 0 guests