Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Allowed DO nesting level exceeded. 3

Status
Not open for further replies.

CDavis

Programmer
May 5, 2000
155
US
With VFP9 I receive the following error when trying to build the project into an executable:

"Allowed DO nesting or expression evaluation level exceeded".

(All elements of the program work fine in the Development Environment.)

The build process does not generate a .err file to help narrow the source of the problem. Help for the error suggests the following:

"To exceed the current limit of nesting levels, change the number of nesting levels by including the STACKSIZE setting and the new limit of nesting levels in a configuration file to use when Visual FoxPro starts up. For more information, see Special Terms for Configuration Files."

Rather than change the limit, I prefer to identify the source of the problem and modify the program design.

Let me know if you have any suggestions.

Thanks in advance.

CDavis
 

According to the help "System capacities" under programs and procedures the limit is 128.
But not being able to view the code that is creating the problem it is hard to say.
But if you have never intended to nest 128 DO than you may have a procedure that is looping and causing the issue.




Mike Gagnon

If you want to get the best response to a question, please check out FAQ184-2483 first.
ReFox XI (www.mcrgsoftware.com)
 
Mike,

Thanks for the quick reply. I haven't purposely created a do structure that would nest more than a few times. The interesting thing for me is that running the various program components from the development environment, I'm not throwing this error. It is happening in the build process and unfortunately it is not even creating an error file as the build does for other types of errors; identifying the program component that is causing the problem.

I suppose I could remove each component one at a time to identify the problem child.

Let me know if you have any other thoughts.
 
I suspect that it is a recursive call that is causing the problem but I'm baffled that it is not causing a problem during execution.

Is there a way to trace the progress of the build to narrow the field of potential problem areas?

CDavis
 

CDavies,

Hang on a sec ... you're saying the error comes up while you are building the EXE? Not while your are running it?

That suggests the problem does not lie in your code. It's got nothing to do with the function or procedure your programs. It's the build proces itself that is exceeding stack space.

If that's right, then increasing the STACKSIZE setting might be the best way to go. After all, the setting will only apply in the development environment, and won't affect the runtime environment in any way.

It's an unusual problem.

Mike

__________________________________
Mike Lewis (Edinburgh, Scotland)

My Visual FoxPro site: www.ml-consult.co.uk
 
Do I understand you just have one UDF per .prg?

If so, that could be it - VFP may be treating each .prg as a 'do' (if you follow me) - have you tried putting all/groups of the UDFs into larger .prg files?

I have about 100 UDFs in a .prg which is my main file.

(I'm probably teaching me nan to suck eggs - sorry)

Regards

Griff
Keep [Smile]ing
 
Mike, Mike, & Griff,

Thanks for the replies. I agree, it is an unusual problem. I've compiled and built many much more complex projects than this one. This project is very simple and contains subclassed controls and a couple of other standard VFP Libraries.

The main is a .prg and there are 5 forms. The main contains approximately 20 lines of code including a READ EVENTS and a simple shutdown routine with a CLEAR EVENTS. The main transfers control to a Top-Level form which may call the other forms depending on user input. Testing to date in the development environment has not created any errors.

The build error happens very quickly and as I've said I can't tell which program component is being processed when the error occurs. I suspect the problem resides in the top-level form which is fairly complex and contains 15 user-defined methods.

Let me know if you have any other thoughts.

Thanks -- cd.

CDavis

 
Ah, have you looked at the 'Project Errors' to see where it might have happened?

Regards

Griff
Keep [Smile]ing
 
Perhaps you could use faq184-63 to identify the issue?

Brian
 
Griff,

Point me to where I can find the 'Project Errors'.


Brian,

Thanks for the tip -- I took a quick look at the FAQ but will need to spend more time with it. I'll report back with my findings.

Thanks again for the continued conversation about this issue.

CDavis
 
Hi

With the project window open, and selected, you should see a 'Project' item on the main menu at the top.

If you open that, there should be an 'errors' option between 'Project Info...' and 'Build...'

Martin
(I think I'm in suck eggs territory)

Regards

Griff
Keep [Smile]ing
 
Try building the project with the Debugger open and you should see additional information in the Debug Output window.

Also, do you have a project hook? Could it be code in the BeforeBuild method that's causing the problem?

Tamar
 
Griff,

The errors... option is grayed out. So I assume its not picking up any errors.

Tamar,

I don't have anything set in a project hook. I did follow your suggestion about using the debugger and it looks like the problem is in _GDIPLUS. I apologize for the lengthy quote of the results below but hope that one of you can give me some insights.

Thanks again -- CDavis

Build Project: Program photomain
Module: myshutdown
Analyzing: PHOTOMAIN
Module: MYSHUTDOWN
Build Project: Form abtphoto
Module: click
Analyzing:
Module: CLICK
Build Project: Form calendar
Module: init
Module: destroy
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: click
Module: mousedown
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: mousedown
Module: click
Module: click
Module: click
Module: click
Module: click
Module: keypress
Module: click
Module: click
Module: keypress
Module: click
Analyzing:
Module: INIT
Module: DESTROY
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: CLICK
Module: MOUSEDOWN
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: MOUSEDOWN
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Module: KEYPRESS
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: KEYPRESS
Module: CLICK
Build Project: Form fullsize
Module: destroy
Module: init
Module: activate
Module: keypress
Module: click
Module: rightclick
Module: middleclick
Module: timer
Analyzing:
Module: DESTROY
Module: INIT
Module: ACTIVATE
Module: KEYPRESS
Analyzing:
Module: CLICK
Module: RIGHTCLICK
Module: MIDDLECLICK
Analyzing:
Module: TIMER
Build Project: Form photopro
Module: updateimage
Module: winviewer
Module: createpropertycursor
Module: retrievepropname
Module: getimageproperties
Module: fillpropertygrid
Module: propinit
Module: ggetpropertycount
Module: ggetpropertyidlist
Module: ggetpropertyitem
Module: ggetimagehandle
Module: buf2num
Module: getmemstring
Module: declareapis
Module: setfilter
Module: load
Module: activate
Module: init
Module: destroy
Module: lostfocus
Module: click
Module: click
Module: click
Module: click
Module: click
Module: click
Module: click
Module: click
Module: interactivechange
Module: click
Module: click
Module: click
Module: click
Module: click
Module: click
Module: click
Module: click
Module: click
Module: click
Module: programmaticchange
Module: interactivechange
Module: gotfocus
Module: interactivechange
Module: interactivechange
Module: interactivechange
Module: click
Module: click
Module: click
Module: click
Module: click
Module: timer
Module: click
Module: click
Analyzing:
Module: UPDATEIMAGE
Module: WINVIEWER
Module: CREATEPROPERTYCURSOR
Module: RETRIEVEPROPNAME
Module: GETIMAGEPROPERTIES
Module: FILLPROPERTYGRID
Module: PROPINIT
Module: GGETPROPERTYCOUNT
Module: GGETPROPERTYIDLIST
Module: GGETPROPERTYITEM
Module: GGETIMAGEHANDLE
Module: BUF2NUM
Module: GETMEMSTRING
Module: DECLAREAPIS
Module: SETFILTER
Module: LOAD
Module: ACTIVATE
Module: INIT
Module: DESTROY
Analyzing:
Module: LOSTFOCUS
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: INTERACTIVECHANGE
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: PROGRAMMATICCHANGE
Module: INTERACTIVECHANGE
Module: GOTFOCUS
Analyzing:
Module: INTERACTIVECHANGE
Analyzing:
Module: INTERACTIVECHANGE
Analyzing:
Module: INTERACTIVECHANGE
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Analyzing:
Module: TIMER
Analyzing:
Module: CLICK
Analyzing:
Module: CLICK
Build Project: Visual Class Library _gdiplus
Module: create
#if GDIPLUS_CHECK_PARAMS

Error in line 4
of gphatchbrush.create (record 2)
Preprocessor expression is invalid.
Module: foregroundcolor_access
#if GDIPLUS_CHECK_OBJECT

Error in line 28
of gphatchbrush.foregroundcolor_access (record 2)
Preprocessor expression is invalid.
Module: foregroundcolor_assign
Module: backgroundcolor_access
#if GDIPLUS_CHECK_OBJECT

Error in line 51
of gphatchbrush.backgroundcolor_access (record 2)
Preprocessor expression is invalid.
Module: backgroundcolor_assign
Module: hatchstyle_access
#if GDIPLUS_CHECK_OBJECT

Error in line 74
of gphatchbrush.hatchstyle_access (record 2)
Preprocessor expression is invalid.
Module: hatchstyle_assign
Module: init
Module: create
#if GDIPLUS_CHECK_PARAMS

Error in line 4
of gpsolidbrush.create (record 4)
Preprocessor expression is invalid.
Module: brushcolor_access
#if GDIPLUS_CHECK_OBJECT

Error in line 24
of gpsolidbrush.brushcolor_access (record 4)
Preprocessor expression is invalid.
Module: brushcolor_assign
#if GDIPLUS_CHECK_OBJECT

Error in line 44
of gpsolidbrush.brushcolor_assign (record 4)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 52
of gpsolidbrush.brushcolor_assign (record 4)
Preprocessor expression is invalid.
Module: init
Module: clone
#if GDIPLUS_CHECK_PARAMS

Error in line 4
of gpbrush.clone (record 6)
Preprocessor expression is invalid.
Module: destroy
Module: create
Module: getgenericmonospace
Module: getgenericserif
Module: getgenericsansserif
Module: isstyleavailable
#if GDIPLUS_CHECK_OBJECT

Error in line 50
of gpfontfamily.isstyleavailable (record 8)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 58
of gpfontfamily.isstyleavailable (record 8)
Preprocessor expression is invalid.
Module: fontname_access
#if GDIPLUS_CHECK_OBJECT

Error in line 75
of gpfontfamily.fontname_access (record 8)
Preprocessor expression is invalid.
Module: fontname_assign
Module: getcellascent
#if GDIPLUS_CHECK_PARAMS

Error in line 103
of gpfontfamily.getcellascent (record 8)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_OBJECT

Error in line 111
of gpfontfamily.getcellascent (record 8)
Preprocessor expression is invalid.
Module: getemheight
#if GDIPLUS_CHECK_PARAMS

Error in line 134
of gpfontfamily.getemheight (record 8)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_OBJECT

Error in line 142
of gpfontfamily.getemheight (record 8)
Preprocessor expression is invalid.
Module: getcelldescent
#if GDIPLUS_CHECK_PARAMS

Error in line 165
of gpfontfamily.getcelldescent (record 8)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_OBJECT

Error in line 173
of gpfontfamily.getcelldescent (record 8)
Preprocessor expression is invalid.
Module: getlinespacing
#if GDIPLUS_CHECK_PARAMS

Error in line 196
of gpfontfamily.getlinespacing (record 8)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_OBJECT

Error in line 204
of gpfontfamily.getlinespacing (record 8)
Preprocessor expression is invalid.
Module: getname
#if GDIPLUS_CHECK_PARAMS

Error in line 227
of gpfontfamily.getname (record 8)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_OBJECT

Error in line 235
of gpfontfamily.getname (record 8)
Preprocessor expression is invalid.
Module: init
Module: destroy
Module: clone
#if GDIPLUS_CHECK_PARAMS

Error in line 296
of gpfontfamily.clone (record 8)
Preprocessor expression is invalid.
Module: alignment_access
#if GDIPLUS_CHECK_OBJECT

Error in line 2
of gpstringformat.alignment_access (record 10)
Preprocessor expression is invalid.
Module: alignment_assign
#if GDIPLUS_CHECK_PARAMS

Error in line 21
of gpstringformat.alignment_assign (record 10)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_OBJECT

Error in line 28
of gpstringformat.alignment_assign (record 10)
Preprocessor expression is invalid.
Module: formatflags_access
#if GDIPLUS_CHECK_OBJECT

Error in line 49
of gpstringformat.formatflags_access (record 10)
Preprocessor expression is invalid.
Module: formatflags_assign
#if GDIPLUS_CHECK_PARAMS

Error in line 68
of gpstringformat.formatflags_assign (record 10)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_OBJECT

Error in line 76
of gpstringformat.formatflags_assign (record 10)
Preprocessor expression is invalid.
Module: hotkeyprefix_access
#if GDIPLUS_CHECK_OBJECT

Error in line 97
of gpstringformat.hotkeyprefix_access (record 10)
Preprocessor expression is invalid.
Module: hotkeyprefix_assign
#if GDIPLUS_CHECK_PARAMS

Error in line 116
of gpstringformat.hotkeyprefix_assign (record 10)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_OBJECT

Error in line 124
of gpstringformat.hotkeyprefix_assign (record 10)
Preprocessor expression is invalid.
Module: linealignment_access
#if GDIPLUS_CHECK_OBJECT

Error in line 145
of gpstringformat.linealignment_access (record 10)
Preprocessor expression is invalid.
Module: linealignment_assign
#if GDIPLUS_CHECK_PARAMS

Error in line 164
of gpstringformat.linealignment_assign (record 10)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_OBJECT

Error in line 172
of gpstringformat.linealignment_assign (record 10)
Preprocessor expression is invalid.
Module: trimming_access
#if GDIPLUS_CHECK_OBJECT

Error in line 193
of gpstringformat.trimming_access (record 10)
Preprocessor expression is invalid.
Module: trimming_assign
#if GDIPLUS_CHECK_PARAMS

Error in line 212
of gpstringformat.trimming_assign (record 10)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_OBJECT

Error in line 220
of gpstringformat.trimming_assign (record 10)
Preprocessor expression is invalid.
Module: getgenericdefault
Module: getgenerictypographic
Module: create
Module: clone
#if GDIPLUS_CHECK_PARAMS

Error in line 314
of gpstringformat.clone (record 10)
Preprocessor expression is invalid.
Module: destroy
Module: init
Module: create
#if GDIPLUS_CHECK_PARAMS

Error in line 8
of gpfont.create (record 12)
Preprocessor expression is invalid.
Module: style_access
#if GDIPLUS_CHECK_OBJECT

Error in line 57
of gpfont.style_access (record 12)
Preprocessor expression is invalid.
Module: style_assign
Module: unit_access
#if GDIPLUS_CHECK_OBJECT

Error in line 79
of gpfont.unit_access (record 12)
Preprocessor expression is invalid.
Module: unit_assign
Module: getheight
#if GDIPLUS_CHECK_PARAMS

Error in line 112
of gpfont.getheight (record 12)
Preprocessor expression is invalid.
Module: fontname_access
#if GDIPLUS_CHECK_OBJECT

Error in line 130
of gpfont.fontname_access (record 12)
Preprocessor expression is invalid.
Module: fontname_assign
Module: size_access
#if GDIPLUS_CHECK_OBJECT

Error in line 165
of gpfont.size_access (record 12)
Preprocessor expression is invalid.
Module: size_assign
Module: getheightgivendpi
#if GDIPLUS_CHECK_OBJECT

Error in line 188
of gpfont.getheightgivendpi (record 12)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 196
of gpfont.getheightgivendpi (record 12)
Preprocessor expression is invalid.
Module: init
Module: destroy
Module: clone
#if GDIPLUS_CHECK_PARAMS

Error in line 243
of gpfont.clone (record 12)
Preprocessor expression is invalid.
Module: gdippoint_access
Module: gdippoint_assign
#if GDIPLUS_CHECK_PARAMS

Error in line 10
of gppoint.gdippoint_assign (record 14)
Preprocessor expression is invalid.
Module: gdippointf_access
Module: gdippointf_assign
#if GDIPLUS_CHECK_PARAMS

Error in line 28
of gppoint.gdippointf_assign (record 14)
Preprocessor expression is invalid.
Module: create
#if GDIPLUS_CHECK_PARAMS

Error in line 42
of gppoint.create (record 14)
Preprocessor expression is invalid.
Module: set
#if GDIPLUS_CHECK_PARAMS

Error in line 55
of gppoint.set (record 14)
Preprocessor expression is invalid.
Module: init
Module: clone
#if GDIPLUS_CHECK_PARAMS

Error in line 88
of gppoint.clone (record 14)
Preprocessor expression is invalid.
Module: gdipsize_access
Module: gdipsize_assign
#if GDIPLUS_CHECK_PARAMS

Error in line 10
of gpsize.gdipsize_assign (record 16)
Preprocessor expression is invalid.
Module: gdipsizef_access
Module: gdipsizef_assign
#if GDIPLUS_CHECK_PARAMS

Error in line 28
of gpsize.gdipsizef_assign (record 16)
Preprocessor expression is invalid.
Module: create
#if GDIPLUS_CHECK_PARAMS

Error in line 42
of gpsize.create (record 16)
Preprocessor expression is invalid.
Module: set
#if GDIPLUS_CHECK_PARAMS

Error in line 55
of gpsize.set (record 16)
Preprocessor expression is invalid.
Module: clone
#if GDIPLUS_CHECK_PARAMS

Error in line 68
of gpsize.clone (record 16)
Preprocessor expression is invalid.
Module: init
Module: createfromgraphics
#if GDIPLUS_CHECK_PARAMS

Error in line 4
of gpbitmap.createfromgraphics (record 18)
Preprocessor expression is invalid.
Module: create
#if GDIPLUS_CHECK_PARAMS

Error in line 30
of gpbitmap.create (record 18)
Preprocessor expression is invalid.
Module: setpixel
#if GDIPLUS_CHECK_PARAMS

Error in line 58
of gpbitmap.setpixel (record 18)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_OBJECT

Error in line 66
of gpbitmap.setpixel (record 18)
Preprocessor expression is invalid.
Module: getpixel
#if GDIPLUS_CHECK_PARAMS

Error in line 84
of gpbitmap.getpixel (record 18)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_OBJECT

Error in line 91
of gpbitmap.getpixel (record 18)
Preprocessor expression is invalid.
Module: createfromfile
#if GDIPLUS_CHECK_PARAMS

Error in line 110
of gpbitmap.createfromfile (record 18)
Preprocessor expression is invalid.
Module: init
Module: setresolution
#if GDIPLUS_CHECK_PARAMS

Error in line 162
of gpbitmap.setresolution (record 18)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_OBJECT

Error in line 169
of gpbitmap.setresolution (record 18)
Preprocessor expression is invalid.
Module: dpix_access
#if GDIPLUS_CHECK_OBJECT

Error in line 2
of gpgraphics.dpix_access (record 20)
Preprocessor expression is invalid.
Module: dpix_assign
Module: dpiy_access
#if GDIPLUS_CHECK_OBJECT

Error in line 25
of gpgraphics.dpiy_access (record 20)
Preprocessor expression is invalid.
Module: dpiy_assign
Module: drawline
#if GDIPLUS_CHECK_OBJECT

Error in line 48
of gpgraphics.drawline (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 55
of gpgraphics.drawline (record 20)
Preprocessor expression is invalid.
Module: drawrectangle
#if GDIPLUS_CHECK_OBJECT

Error in line 75
of gpgraphics.drawrectangle (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 83
of gpgraphics.drawrectangle (record 20)
Preprocessor expression is invalid.
Module: drawstringa
#if GDIPLUS_CHECK_OBJECT

Error in line 121
of gpgraphics.drawstringa (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 129
of gpgraphics.drawstringa (record 20)
Preprocessor expression is invalid.
Module: drawstringw
#if GDIPLUS_CHECK_OBJECT

Error in line 188
of gpgraphics.drawstringw (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 196
of gpgraphics.drawstringw (record 20)
Preprocessor expression is invalid.
Module: drawpie
#if GDIPLUS_CHECK_OBJECT

Error in line 255
of gpgraphics.drawpie (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 263
of gpgraphics.drawpie (record 20)
Preprocessor expression is invalid.
Module: fillpie
#if GDIPLUS_CHECK_OBJECT

Error in line 308
of gpgraphics.fillpie (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 316
of gpgraphics.fillpie (record 20)
Preprocessor expression is invalid.
Module: drawarc
#if GDIPLUS_CHECK_OBJECT

Error in line 359
of gpgraphics.drawarc (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 367
of gpgraphics.drawarc (record 20)
Preprocessor expression is invalid.
Module: drawbezier
#if GDIPLUS_CHECK_OBJECT

Error in line 384
of gpgraphics.drawbezier (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 392
of gpgraphics.drawbezier (record 20)
Preprocessor expression is invalid.
Module: drawellipse
#if GDIPLUS_CHECK_OBJECT

Error in line 413
of gpgraphics.drawellipse (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 421
of gpgraphics.drawellipse (record 20)
Preprocessor expression is invalid.
Module: fillrectangle
#if GDIPLUS_CHECK_OBJECT

Error in line 462
of gpgraphics.fillrectangle (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 470
of gpgraphics.fillrectangle (record 20)
Preprocessor expression is invalid.
Module: fillellipse
#if GDIPLUS_CHECK_OBJECT

Error in line 511
of gpgraphics.fillellipse (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 519
of gpgraphics.fillellipse (record 20)
Preprocessor expression is invalid.
Module: flush
#if GDIPLUS_CHECK_OBJECT

Error in line 557
of gpgraphics.flush (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 565
of gpgraphics.flush (record 20)
Preprocessor expression is invalid.
Module: createfromhdc
#if GDIPLUS_CHECK_PARAMS

Error in line 584
of gpgraphics.createfromhdc (record 20)
Preprocessor expression is invalid.
Module: createfromhwnd
#if GDIPLUS_CHECK_PARAMS

Error in line 611
of gpgraphics.createfromhwnd (record 20)
Preprocessor expression is invalid.
Module: compositingmode_access
#if GDIPLUS_CHECK_OBJECT

Error in line 643
of gpgraphics.compositingmode_access (record 20)
Preprocessor expression is invalid.
Module: compositingmode_assign
#if GDIPLUS_CHECK_OBJECT

Error in line 661
of gpgraphics.compositingmode_assign (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 668
of gpgraphics.compositingmode_assign (record 20)
Preprocessor expression is invalid.
Module: compositingquality_access
#if GDIPLUS_CHECK_OBJECT

Error in line 684
of gpgraphics.compositingquality_access (record 20)
Preprocessor expression is invalid.
Module: compositingquality_assign
#if GDIPLUS_CHECK_OBJECT

Error in line 702
of gpgraphics.compositingquality_assign (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 709
of gpgraphics.compositingquality_assign (record 20)
Preprocessor expression is invalid.
Module: interpolationmode_access
#if GDIPLUS_CHECK_OBJECT

Error in line 725
of gpgraphics.interpolationmode_access (record 20)
Preprocessor expression is invalid.
Module: interpolationmode_assign
#if GDIPLUS_CHECK_OBJECT

Error in line 742
of gpgraphics.interpolationmode_assign (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 749
of gpgraphics.interpolationmode_assign (record 20)
Preprocessor expression is invalid.
Module: pagescale_access
#if GDIPLUS_CHECK_OBJECT

Error in line 765
of gpgraphics.pagescale_access (record 20)
Preprocessor expression is invalid.
Module: pagescale_assign
#if GDIPLUS_CHECK_OBJECT

Error in line 783
of gpgraphics.pagescale_assign (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 791
of gpgraphics.pagescale_assign (record 20)
Preprocessor expression is invalid.
Module: smoothingmode_access
#if GDIPLUS_CHECK_OBJECT

Error in line 807
of gpgraphics.smoothingmode_access (record 20)
Preprocessor expression is invalid.
Module: smoothingmode_assign
#if GDIPLUS_CHECK_OBJECT

Error in line 825
of gpgraphics.smoothingmode_assign (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 832
of gpgraphics.smoothingmode_assign (record 20)
Preprocessor expression is invalid.
Module: pixeloffsetmode_access
#if GDIPLUS_CHECK_OBJECT

Error in line 848
of gpgraphics.pixeloffsetmode_access (record 20)
Preprocessor expression is invalid.
Module: pixeloffsetmode_assign
#if GDIPLUS_CHECK_OBJECT

Error in line 866
of gpgraphics.pixeloffsetmode_assign (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 874
of gpgraphics.pixeloffsetmode_assign (record 20)
Preprocessor expression is invalid.
Module: clipbounds_access
#if GDIPLUS_CHECK_OBJECT

Error in line 890
of gpgraphics.clipbounds_access (record 20)
Preprocessor expression is invalid.
Module: clipbounds_assign
Module: pageunit_access
#if GDIPLUS_CHECK_OBJECT

Error in line 916
of gpgraphics.pageunit_access (record 20)
Preprocessor expression is invalid.
Module: pageunit_assign
#if GDIPLUS_CHECK_OBJECT

Error in line 935
of gpgraphics.pageunit_assign (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 942
of gpgraphics.pageunit_assign (record 20)
Preprocessor expression is invalid.
Module: visibleclipbounds_access
#if GDIPLUS_CHECK_OBJECT

Error in line 958
of gpgraphics.visibleclipbounds_access (record 20)
Preprocessor expression is invalid.
Module: visibleclipbounds_assign
Module: measurestringa
#if GDIPLUS_CHECK_OBJECT

Error in line 985
of gpgraphics.measurestringa (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 992
of gpgraphics.measurestringa (record 20)
Preprocessor expression is invalid.
Module: measurestringw
#if GDIPLUS_CHECK_OBJECT

Error in line 1067
of gpgraphics.measurestringw (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 1074
of gpgraphics.measurestringw (record 20)
Preprocessor expression is invalid.
Module: textrenderinghint_access
#if GDIPLUS_CHECK_OBJECT

Error in line 1137
of gpgraphics.textrenderinghint_access (record 20)
Preprocessor expression is invalid.
Module: textrenderinghint_assign
#if GDIPLUS_CHECK_OBJECT

Error in line 1156
of gpgraphics.textrenderinghint_assign (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 1164
of gpgraphics.textrenderinghint_assign (record 20)
Preprocessor expression is invalid.
Module: renderingorigin_access
#if GDIPLUS_CHECK_OBJECT

Error in line 1180
of gpgraphics.renderingorigin_access (record 20)
Preprocessor expression is invalid.
Module: renderingorigin_assign
#if GDIPLUS_CHECK_OBJECT

Error in line 1204
of gpgraphics.renderingorigin_assign (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 1212
of gpgraphics.renderingorigin_assign (record 20)
Preprocessor expression is invalid.
Module: textcontrast_access
#if GDIPLUS_CHECK_OBJECT

Error in line 1228
of gpgraphics.textcontrast_access (record 20)
Preprocessor expression is invalid.
Module: textcontrast_assign
#if GDIPLUS_CHECK_OBJECT

Error in line 1248
of gpgraphics.textcontrast_assign (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 1255
of gpgraphics.textcontrast_assign (record 20)
Preprocessor expression is invalid.
Module: drawlines
#if GDIPLUS_CHECK_OBJECT

Error in line 1272
of gpgraphics.drawlines (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 1280
of gpgraphics.drawlines (record 20)
Preprocessor expression is invalid.
Module: drawlinesfromcursor
#if GDIPLUS_CHECK_OBJECT

Error in line 1304
of gpgraphics.drawlinesfromcursor (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 1312
of gpgraphics.drawlinesfromcursor (record 20)
Preprocessor expression is invalid.
Module: drawbeziers
#if GDIPLUS_CHECK_OBJECT

Error in line 1332
of gpgraphics.drawbeziers (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 1340
of gpgraphics.drawbeziers (record 20)
Preprocessor expression is invalid.
Module: drawclosedcurve
#if GDIPLUS_CHECK_OBJECT

Error in line 1364
of gpgraphics.drawclosedcurve (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 1372
of gpgraphics.drawclosedcurve (record 20)
Preprocessor expression is invalid.
Module: drawbeziersfromcursor
#if GDIPLUS_CHECK_OBJECT

Error in line 1396
of gpgraphics.drawbeziersfromcursor (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 1404
of gpgraphics.drawbeziersfromcursor (record 20)
Preprocessor expression is invalid.
Module: drawclosedcurvefromcursor
#if GDIPLUS_CHECK_OBJECT

Error in line 1424
of gpgraphics.drawclosedcurvefromcursor (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 1432
of gpgraphics.drawclosedcurvefromcursor (record 20)
Preprocessor expression is invalid.
Module: drawcurve
#if GDIPLUS_CHECK_OBJECT

Error in line 1452
of gpgraphics.drawcurve (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 1460
of gpgraphics.drawcurve (record 20)
Preprocessor expression is invalid.
Module: drawcurvefromcursor
#if GDIPLUS_CHECK_OBJECT

Error in line 1484
of gpgraphics.drawcurvefromcursor (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 1492
of gpgraphics.drawcurvefromcursor (record 20)
Preprocessor expression is invalid.
Module: drawpolygon
#if GDIPLUS_CHECK_OBJECT

Error in line 1512
of gpgraphics.drawpolygon (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 1520
of gpgraphics.drawpolygon (record 20)
Preprocessor expression is invalid.
Module: drawpolygonfromcursor
#if GDIPLUS_CHECK_OBJECT

Error in line 1544
of gpgraphics.drawpolygonfromcursor (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS

Error in line 1552
of gpgraphics.drawpolygonfromcursor (record 20)
Preprocessor expression is invalid.
Module: drawrectangles
#if GDIPLUS_CHECK_OBJECT

Error in line 1572
of gpgraphics.drawrectangles (record 20)
Preprocessor expression is invalid.

 
I've never coded VFP like that, I tend to try and group the procedures into one or more files (GenProc.prg) or just put them at the bottom of the main procedure file.

You live and learn

Regards

Griff
Keep [Smile]ing
 
CDavis,
Lets try some basic troubleshooting, and see if we can narrow the issue down...
1) Is this a project you have previously successfuly compiled in another version of VFP?
2) If not, and it's a new VFP 9 project, did you *borrow* any code that previously compiled okay in another version of VFP?
3) Do you have any suspicion (i.e. some form or .prg that has some intensive processing that you've done rather "cleverly"?)
4) Do your forms run in the designer when launching them as "Run Form" (i.e. ! )?

Another thing to try is, delete your project file... put your startup .prg or main form in a new clean project file, and click "Build". Let it gather up all the project elements. Then, do a "Build EXE" with it, and see if you have the same problem... could be a project file courruption???

If NONE of this works, let us know, and I'll keep thinking about how to identify your root cause...


Best Regards,
Scott

"Everything should be made as simple as possible, and no simpler."[hammer]
 
Your debug output shows a number of error messages like the following.
Code:
Error in line 1544
 of gpgraphics.drawpolygonfromcursor (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS
Is it possible that the "of" should be "if"?

Regards,
 

Mike Yearwood,

I used to do it your way, but came over the years to group the UDFs, more like GriffMG does.

I never put too anything close to a hundred UDFs in one file, though.

I put procedures used throughout the whole project with the main program, or, if there are many, into a separate "library" file or a few of them (not really saved as a library, though, just regular .PRG). Others I put with the programs that call them. Well, if a UDF looks big enough to me on its own, I still might put it into a separate .PRG.

Reason? Well, as for me, it seems to unclutter the project, and if I want to see everything that piece of code calls, it usually is right here, on the bottom, not in 20 separate files.

But, I guess, it's a matter of preference.
Having used it your way, too, I can understand the advantages.
 
Thanks for the continued interest. I'm trying to absorb the suggestions and work through them to find a solution.

Your debug output shows a number of error messages like the following.

CODE
Error in line 1544
of gpgraphics.drawpolygonfromcursor (record 20)
Preprocessor expression is invalid.
#if GDIPLUS_CHECK_PARAMS
Is it possible that the "of" should be "if"?

I'm not sure about the coding syntax here. I think that it is part of the _GDIPLUS class and so assume it is correct??

I'll get back to the group after I've had some time to work the problem some more.

-- Chuck

CDavis
 
On a slightly differnt note, have you considered turning it (them) into non-visual classes, and dropping them onto your form? I have done this with the vast majority of my UDFs, (and even put the bulk of the "simple stuff" into one class called "common".) The only stuff I leave as a .PRG now is for handling things that need to be available after or during the classes being shut down (i.e. code executed by the DESTROY() event or ON SHUTDOWN...)
That might help manage your trouble shooting if nothing else...


Best Regards,
Scott

"Everything should be made as simple as possible, and no simpler."[hammer]
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top