My computer or known limitation ????

Started by Marty Francom, July 22, 2005, 06:48:06 PM

Previous topic - Next topic

Marty Francom

Paul,
  I have a project with about 2 dozen forms, containing over 600 ontrols.  There are several forms that have Tab control embedded on a tab control.   I have added a couple more forms and now when I load the project,  it will take over 4 minutes to load all the forms.  And when I try to get the custom properties for a tab control  the properties box will lock up.  I am running Windows XP home on a Toshiba Laptop.
  Could the be a problem with my computer not having enough memory or am I bumping up against a limit of FireFly ?

Marty Francom

Further quetsions:
 
1) Is there an upper limit to the number forms and controls that Firefly can handle in a single project? :?:   If so, what are the numbers?

2) If there is an upper limit,  is there a way to break the project into multiple projects and then link them (combine them) at compile time? :?:  This way enabling the programmer to build huge projects all compiled into a single EXE.

Roger Garstang

"Tab control embedded on a tab control" is the first thing putting a red flag up for me.  Haven't used Tabs much cause XP Theme issues and icon transparency problems, but since they contain forms, is it a form displayed in the Tab where the form contains another tab or is the tab actually on another tab control?  I haven't seen much of a limit as others have tons of forms.  Could just be something FF didn't plan on happening in the layout of everything and somehow it did, so there are some problems.

How much memory do you have?  256-512MB would almost be a requirement for XP anymore.

Marty Francom

Roger,
..   I have 512KB memory.  There is a Main Form with a Tab Control and then several of the Child Forms on that TAB Control.  Some of those Child Forms also contain a Tab Control and addional Child Forms.  This project now contains a couple dozen Child Forms of the Tab Control.
..   This method was working well until I added the last Six Forms.  Now FireFly behaves very strangely. It's like it can't handle the amount of data that it needs to process.  FireFly will lock up, some property boxes won't fully display.
..    My program needs to deal with a number of data bases.  There will need to be over 600 data entry fileds (Text Boxes) spread over a couple dozen forms.
..    Does any one know if FireFly has an upper limit to the number of fields (Controls) and Forms it can handle in one project? :?:
   What is the largest FireFly Project that anyone has created? :?:  
..
I am trying to figure out,  is the a problem with my computer (maybe not enough memory) or does FireFly have some kind of upper limit to the size of a project it can handle?  :?:
..
And third, If there is a Fire Fly limitation,  Is there a way th break my project into several FireFly progects and link the projects together at compile time to create one EXE? :?:

TechSupport

Hi Marty,

That certainly sounds like a very serious problem. I just checked the FireFly source code and it allows for 200 controls per Form. Of course, I can increase that number if needed.

From your description of the way your computer is acting, it could be a memory problem, or it could be a FireFly problem (not sure). Try loading your project and then immediately check to see how much free RAM you have. (Check out the "Performance" tab of your "Windows Task Manager").

Can a FireFly project be broken up into pieces.... well, yes, I guess it could but it would entail a bit of a redesign on your part. You could make one or more DLL projects and move your code and Forms to it. I would certainly make a backup copy of your project before doing so because I would imagine that the process would be tedious.

I know that Andrew McKay has made several very large FireFly projects in the past. A couple dozen Forms for sure. I only have a few FireFly projects with a dozen or less Forms in each.

Quote
This method was working well until I added the last Six Forms. Now FireFly behaves very strangely. It's like it can't handle the amount of data that it needs to process. FireFly will lock up, some property boxes won't fully display.
It is quite possible that maybe something got corrupted in the project. Are you able to view all of the *.frm and *.prj files correctly in a standard text editor? Do you see any strange non-ascii symbols anywhere. Also, maybe one of the *.frx files got corrupted? Do you use a lot of graphics in your application.

Mark Strickland

Paul,

I am working with Marty on this software.  I loaded the project into FF on my machine and it takes about 2 minutes to load.  It all looks OK except one problem.  When I look at the ENVRIONMENT options they don't appear correctly.

The option tree on the left appears but no matter what is selected the pane on the right is blank.

When I generate the project to comple it looks like it generates the correct code except when it is time to launch the compiler it just sounds a bell and returns me to the designer environment (no crash).

I have not done a controls count but there is a possibility that because of tabs within tabs the control count in the nested environment could exceed 200 for a specific top level form in the nest.

My machine is similar to Marty's with 512Megs of RAM.  I have a machine with 1Gig or RAM but won't be able to check it on that machine until sometime later Sunday.

Hopefully this helps.

Mark

TechSupport

Hi Mark,

The 200 controls limit is per Form. If you have 4 child Forms on your tab control then that would be 800 controls.

How much memory is left on your machine when the project is loaded????

Marty Francom

Paul,
..   On my computer I have 109 Mbyte free memory befor I load FireFly and the project and after I have 50 Mbyte free momory.  Have 378 open threads before and 417 openthreads after.
..    FireFly behaves strangly after loading this project.  

.. Would it help you if I emailed a copy of the project so you could load it and see first hand the problem?

TechSupport

Quote from: Marty Francom.. Would it help you if I emailed a copy of the project so you could load it and see first hand the problem?
Sure, definately. I would be very interested in looking at this.

Mark Strickland

I tried loading this project on a machine with 1GB of ram and it appeared to load OK.  The environment options that previously were gone were available after loading the project.

When I tried to compile the project it seemed to generate the code OK but the PB Compiler reported an error that said FF_SETTEXT was not defined.  That was the first FF_ function in an include module.  It also just happened that it was the first designer tab on the left of all the forms and modules.

When I acknowledged the PB error the environment options were no longer visiable along with some other things including the project properties.  When I exit FF Designer and re-open open it the environment options are present.  If I load the project then the environment options disappear.  It seems it takes a reboot to get things correct again.

Obviously memory is getting "blown" some where.

It appears to me that the limit of 250 controls on a form, at least when nested, is the problem.  Here is the worst case in this project for the control count on nested forms not including the "Parent Form" with the top level tabs.

FormCLAIMr1 = 74
FormCLAIMr2 = 78
FormCLAIMr3 = 53
FormCLAIMs1 = 82
FormCLAIMs2 = 79
FormCLAIMs3 = 74
FormCLAIMs4 = 92
FormCLAIMs5 = 53
FormCLAIMs6 = 79

Control TOTAL count = 664

Is it realistic to increase the control count to 750 controls when you release v2.5?

Thanks.

Marty Francom

Paul,
  I emailed you an HTML link do you can download the project and see the problem first hand.  Send email to the support address.

TechSupport

Quote from: Mark StricklandIt appears to me that the limit of 250 controls on a form, at least when nested, is the problem.  
Hi Mark,

Thanks for the further information. I will be downloading your project shortly (thanks Marty!).

Regarding the above statement - there is no limitation on nesting forms. Nested forms have no impact at all. Each form has a limit of 200 controls per form. It doesn't matter that the form is a standalone form or is a member of a tab control.

TechSupport

Hi Guys,

I just did a quick test with your project and you're certainly right. I experienced the exact same trouble as you did. One thing that I did notice is that you have every form and code window active in the top tab control. This is why it takes so very long to load the project. FireFly has to generate 30 something complex windows and add them to the tab control.

Here is what I did to "fix" the problem: For every tab I right-clicked on it and chose "Close Form". This simply removes the form from the tab control - it does NOT remove it from the project. You will still see it in the Project Explorer.

I repeated the above process for every open tab except for "FormMain". I then saved the project and exited. I reloaded the project (which now loads very quickly) and then checked the various dialogs. The Project Properties and Environment Options were indeed visible now.

I attempted to compile the program but it failed because I believe that you have some hard coded path references to the "commctrl.inc" file.

Nonetheless, try the above process and report back. i am curious as to whether it fixes the problem.

Marty Francom

Paul,
... Simple solution... great.  :P  I didn't know about the feature to close a form.   Is there any reason why the default action for Firefly is to open all the forms?   I guess,  for most projects this would not be a problem.  Would it make any sense to have FireFly open only the main form by default?  Or maybe have that as a setup option.
... Again thanks for the help.
.
Marty

TechSupport

If you open a Form, Module, or whatever, FireFly will leave it open until you specifically tell it to close it. When the Project is saved, all open windows are saved. When the Project is subsequently loaded again, then the windows that were previously open are shown. This basically allows the programmer to start where they last left off the last time they used the Project. In my projects I only have 3 or 4 windows open. These are usually the Forms/Modules that I need to work on the most. Other, less used, Forms are normally closed and I only open them when needed.

Happy to hear that the crisis has been adverted!

(BTW, I wish you guys best of luck on your project. It is certainly a very indepth application).  :)