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 Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

FoxPro 9 Compiled App on Windows 8 3

Status
Not open for further replies.

Auguy

Programmer
May 1, 2004
1,206
US
I'm about to install a VFP 9 SP 1 compiled app on a Windows 8 computer. I don't have access to a Windows 8 computer and I am looking for some guidance as to what I have to do to get the app to run. I can update to SP 2 if necessary and probably will. I plan on putting the Exe and the run times in a single folder (Not the Program Files folder) and I normally put the DBC and tables in a Data sub-folder. From what I've read this should allow the program to run and read/write the tables properly. I'm concerned about Desktop mode, Win XP Mode, data virtualization. permissions, etc. The app will only be accessed by users on this one computer. I've also seen some postings about form size and blurry text due to DPI settings. Any suggestions are appreciated.

Auguy
Sylvania/Toledo Ohio
 
>form size and blurry text
No to both, but near miss:

1. Form resizing with the vista/Win7/Win8 aero UI causes artefacts, form border isn't painted correctly, especially within the IDE.
2. Blurry text is true, but due to ClearType technology and gdiplus not making the perfect match about what pixels should be repainted after in a form repaint. That has nothing to do with DPI settings. A DPI setting other than the default can cause page tabs to draw wrong, for example, but not blurry text. And that problem also is not coming from Vista/Win7/Win8, it's been there since XP.

I'd go for SP2 alone for better aero UI support. The cleartype bug/by design fault of blurry text is overcome by form.cls() whenever the form resizes and within label refresh, I think there was a milder fix, you find threads about this, but I haven't got the 100% solution yet. It's still spotted once in a while.

The installation mode you chose will work.

Overall, if that works in Win7 it works in Win8 desktop. Win8 desktop pretty much compares to Win7, the new stuff is in the limited runtime metro part of windows, where the fox runtime won't work, but that's nothing to fear for, a desktop exe will be started on the desktop, even though it has it's start "menu" item in the metro start screen.

Bye, Olaf.
 
For what it's worth, I recently tested my latest application under Windows 8, and everything worked fine. This is a very large app, built in VFP 9.0 SP1. I tested every feature of the app, specifically to check that it would run under 8.

The only issues were the well-known screen re-painting issues that are also present in Vista and Windows 7 (corrupted combo boxes, and form resizing), and for which there are workarounds.

Mike

__________________________________
Mike Lewis (Edinburgh, Scotland)

Visual FoxPro articles, tips, training, consultancy
 
Thanks Olaf & Mike. Mike, can you point me to any of those workarounds?

Auguy
Sylvania/Toledo Ohio
 
I'm not Mike,

but one important poiunt is, SP2 fixes the two bugs mentioned by Mike. That only leaves you with bug #3, clear type bug.

1. I don't know a workaround for corrupted combobox
2. The form resizing border bug only happen sin the IDE, so there is no workaround needed for that bug.

3. the blurry text cleartype problem is needing a workaround, even with SP2, and that is to redraw the whole form, no matter if Windows/VFP thinks a partial redraw also is okay.

VFP fails to find all the pixels, which need an update, because part of them only were changed by ClearType and not by GDIPlus drawing Label text, for example. Thisform.cls() is pretty safe and can be put in the forms Paint() event and any control Refresh() having to do with Fonts on the form canvas. Text in Textboxes, Grids, etc is not harmed, mainyl just label captions. It pays to have subclassed controls for that matter, not using the base control classes directyl.

And bug #3 has nothing to do with the form border corruption, when resizing, it just also is likely to happen, if a form is resized and is redrawn.

Bye, Olaf.
 
Thanks Olaf. I do have all of my controls sub-classed so putting the ThisForm.cls() in the paint of the form class will not be a problem. Just to make sure I understand, do I need to add ThisForm.cls() to any label refresh event or only to those that change how the font is displayed? I rarely change the font name, but I do change bold, italic, etc.

Auguy
Sylvania/Toledo Ohio
 
The blurring of text occurs, when a form is redrawn, no matter if the font or label text stay the same, that's the problem, so it's not only a problem, if you change the font or label text.

And a label is redrawn more often, than you think, even if nothing changed.

Bye, Olaf.


 
can you point me to any of those workarounds?

Here's the workaround for the combo box problem. Execute this, once only, at the start of the session (for example, near the top of your main program):

Code:
DECLARE INTEGER GdiSetBatchLimit IN WIN32API INTEGER
GdiSetBatchLimit(1)

Without this code, the highlight persists as you move it through the list portion of a combo box. In other words, if you select item 1, then select item 3, then all of the first three items will be highlighted. The same happens with context menus.

Mike

__________________________________
Mike Lewis (Edinburgh, Scotland)

Visual FoxPro articles, tips, training, consultancy
 
Sorry to restart this post. I have a client that has a Windows 8 computer with an AMD processor and I need to run a VFP 9 application on it. I read where there's a restriction on running VFP 9 on a Windows 8 computer with anything but an Intel processor. Is this just for the VFP 9 development environment or the run times or both?

Auguy
Sylvania/Toledo Ohio
 
You should ask a new question about this.

But in this case Intel doen't literally mean the manufacturer Intel, Intel just stands for the x86 family of CPUs, so AMD also is fine, Intel is just the corporation having invented the x86 scheme of CPUs, AMD Desktop or Server processors are also part of that CPU family.

There are types of Tablets, Netbooks, and Notebooks, which in contrast are having ARM based CPUs and on These Computers, the classic Desktop part of Windows does not run. But AMD has bo such CPU to my knowledge.

Bye, Olaf.
 
Thanks Olaf, that's what I thought, but better to make sure. I always appreciate reading your and Mike's answers on all of the posts, not just mine.

Auguy
Sylvania/Toledo Ohio
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top