Upgrading to VFP9

I just upgrades from VFP6 to VFP9. When I run a project developed in VFP6 with VFP9 The opening Form background color fills the screen but nothing else.

When I attempt to run the same project in VFP6 the same problem occurs. This project was running smoothly for years prior to this.

Any Ideas?
Who is Participating?
"When I attempt to  run the same project in VFP6 the same problem occurs.
This project was  running smoothly for years prior to this.

So now the problem is now being experienced in BOTH unmodified VFP6 code and in the VFP9 conversion code.  
Hopefully you have kept both the version-specific Project files and the compiled EXE's separate for your various version testing.   If not, then do so now and re-test.
If, with appropriate separation, they both continue to misbehave, that would sort of eliminate the code migration as having been the cause.

Therefore the next question to ask when situations like this occur is  -- What else has changed?

If things used to run one way and, with no code changes having been introduced (at least into the VFP6 version), they now run differently, then SOMETHING else has changed.

What else might that be?   You might have to put on your 'Sherlock Holmes" hat to find out.

With more information we can likely assist you better.

Good Luck

Tin-Can-SailorAuthor Commented:
Thanks, I did keep both the vfp6, vfp8 and vfp9 files seperate.

Nothing has changed in thie project for the past 4 years.
"Nothing has changed in this project for the past 4 years."

Perhaps nothing has changed in the project, but what about everything else?
There are a LOT of things that can affect how software runs within a workstation.

Have your workstation OS's changed?
Has your network OS changed?
 Have your workstations changed?
Have you installed new anti-virus software?

Within the 4 years there was a time when things worked and then they stopped working.
Think about all the things that occurred at that time frame?

Good Luck
Cloud Class® Course: Microsoft Azure 2017

Azure has a changed a lot since it was originally introduce by adding new services and features. Do you know everything you need to about Azure? This course will teach you about the Azure App Service, monitoring and application insights, DevOps, and Team Services.

Olaf DoschkeSoftware DeveloperCommented:
Wht has changed between version 6 and 7 is themes support was added to VFP, but as you have 6,8 and 9 projects, you most probably know that.

When you say "run the project", you mean starting the main.prg from the project manager? Starting the exe that resulted from the project? Or just opening the project in VFP?

Do you try to compile he project to see if it errors due to missing files?
Is the database the project may need still at it's place?
Is there an error handler, which would show errrors or would the exe just stop at any error?

Like jrbbldr says there can be many reasons outisde the pjx or exe changing making it not work anymore.

Bye, Olaf.
My manager was using simple advice in similar situations as he said obviously: "I can help in three words: SET STEP ON"

And it worked.
Tin-Can-SailorAuthor Commented:
When I insert "set step on" into the load on init, the app errors out on the next line. I have tried various locations, to no avail.
"the app errors out on the next line"
What is the error message displayed?

I apologize in advance if you already know about the following, but just in case you don't...

You use SET STEP ON to debug the application (or part of it) when it is launched from the VFP development Command window.

When you launch the application's first (start) prg file, when the SET STEP ON is encountered in the execution it should activate the TRACE Window, Break the execution and allow you to step through the remainder of the program.

You can also use SET STEP ON within a sub-set of the application such as an individual Form itself.   You might put it into a Form's LOAD method and launch just the separate Form by itself from the Command Window.   Like before when the SET STEP ON is encountered, it will Break the execution for debugging purposes.

Good Luck

Tin-Can-SailorAuthor Commented:
It seems to be due to the SHOW Procedure.

Show= "Inherited Baseformc:\program files\microsoft visual stidio\VFP98\wizards\wizbase.vcx

Please see attached word doc.


Tin Can Sailor
Olaf DoschkeSoftware DeveloperCommented:
I don't see anything wrong. The inheritance shows this app was created using the application or at least form wizard of foxpro. But there is nothing wrong with that code.

You might not have started the app the correct way, so some initialisation is missing. In a project there is one main file, typically that is not a form but a prg and you start that.

Once you're in debugging (the trace window jrbbldr mentions) you can single step from line to line with F8. I assume the form does nothing as you get to the RETURN and the further code, especially the PickRecord() is not executed.

If that is the case most probably THIS.APP_MEDIATOR is not present or lShowFirstTime is already .F. (this seems to be a property set to .F. here to prevent the PickRecrod to run more than once at the form start).

I assume there is some initialisation of the main application object failing, so forms don't work. As said already, a project typically has a main program in the code section of the program manager, which is listed bold in contrast to all other programs. This is what you should start. A form of the project may not work before some initial objects are not created by a startup program and then this form shows but does nothing.

Bye, Olaf.
Tin-Can-SailorAuthor Commented:

The type("this.app_mediator.baseclass") returns a "U", not a "C"
Are you sure all necessary Wizards were ported to VFP 9? Are these Wizards included in your project? The problem could even be Wizards source code availability - I am not sure if they were available for VFP 6. In such case you cannot port the application to VFP 9.

If the Wizards source is available then VFP 9 could recompile Inherited Baseform (placed in c:\program files\microsoft visual stidio\VFP98\wizards\wizbase.vcx) but the compilation could produce some errors and the code cannot be used even by VFP 6 now.

Upgrade from VFP 6 to VFP 9 means a jump over several years of product development and you cannot suppose 100% backward compatibility, so the simple recompilation cannot do all the work obviously.

So you should copy all necessary files to the new location, recompile the whole project under VFP 9 and try to trace and debug it. The original VFP 6 application including VFP 6 installation must remain untouched because it is the only working piece of code now!

I would recommend the whole poject review by experienced VFP developer. It will save you a plenty of time. But maybe you are just not executing the main program as Olaf said.
Tin-Can-SailorAuthor Commented:
Thanks to all for your expertice and patience.

Tin Can sailor
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.