Web Connection
Visual FoxPro Advanced and Web Connection
Gravatar is a globally recognized avatar based on your email address. Visual FoxPro Advanced and Web Connection
  Rick Strahl
  All
  Feb 1, 2021 @ 08:05pm

So in response to some messages here over the last few weeks (I guess after SW Fox), I tried to set up Visual FoxPro Advanced (ie. VFP '10') and run it through some basic Web Connection tests. The good news is, it works and I can get it to run through all of the Web Connection demos and the message board so that's a good sign.

It works even in COM mode...

The above is running the Web Connection .NET Core Web Server locally, in COM mode, running the Web Connection server as out of process COM objects.

Experience Sucks

Installing VFP Advanced sucks. It depends on an existing Visual FoxPro 9 installation that has to be patched to the latest version. What exactly is required is not actually mentioned on the site. You have to manually copy files if you need to update to VFP Hotfix 3 and VFP Advanced basically creates a new patched version of VFPA.exe from your VFP9.exe and the runtime dlls.

Eric Selje's article from SW Fox is the best reference for getting started - the 1980's style Web site has almost nothing in the way of how this is supposed to work.

Using Eric's notes I was able to get VFP updated, but I ran into a problem with a mismatched version of VFP resource files after a fresh VFP install of VFP 9 -> SP2 and the Hotfix 3. The VFPA installer didn't want to work with my resource files. I couldn't work around this with no idea where to get the later resource files. It only worked after Eric was kind enough to send me his files. Neither of us has any idea what needs to be installed for these resource files (The vfprenu.dll and vfpenu.dll files).

If you need to get the IDE installed on a few machines it's going to be painful to remember exactly what needs to happen and what needs updating since the installer isn't doing it for you. Even runtime installation will require installation of the VFPA patch tooling, unless you use the explicit Runtime Compiler that bundles everything for you.

It Runs...

While the application itself runs there are a few little problems with the IDE I noticed even in the first few minutes of using it. This one is annoying since I use config.fpw for most of my path configuration:

  • config.fpw doesn't get loaded on VFP startup, so all environment settings didn't work from there. It doesn't load by default out of the launch folder or an explicitly assigned folder with -c.

Also noticed that the desktop icons were not always showing up when running the application either in file more or in COM (interactive) which is weird. Just showed an empty icon spot.

If I ran into these issues in just a few minutes of usage what other things are actually not working correctly? I can't imagine that I would trust a monkey patched runtime which even under the most ideal conditions and rigorous testing would be extremely error prone. But alas - that's a chance you have to take with this. The fixes seem very focused although the >2gb file limitation removal has to be affecting a lot of the data engine - that's probably the most scary fix and probably one of the main reason anybody would want to use it.

Bottom line - Web Connection runs under VFP Advanced it works to process requests even in COM mode, which I would have throught to be problematic. I also checked:

  • Various Win32 DLL interactions
  • wwDotnetBridge interaction (important at this point)

and all that seems to work. Since wwIPStuff.dll which is a heavily used component of Web Connection, is 32 bit, one has to use the 32 bit version. I can hardly see when the 64 bit version would make sense since if you're using VFP UI components or any of the existing ActiveX controls they are all going to require 32 bit operation (like the WebBrowser control or MS Common Controls).

Personally I wouldn't recommend using this even if it does work. There's just too much potential for something to be subtly wrong giving you the appearance of correctly working until it doesn't. I guess time will tell...

If you're going to play with this make sure to read Eric's White Paper - he goes through what works, what's updated and some of the ethical/business issues which are a little more favorable than mine.

For now, those that want to try this with Web Connection - you be the guinea pigs 😄!

+++ Rick ---

Gravatar is a globally recognized avatar based on your email address. re: Visual FoxPro Advanced and Web Connection
  Greg Dohm
  Rick Strahl
  Feb 3, 2021 @ 10:19am

Hi Rick,

Those results are encouraging...like you said in a previous post many folks are likely wondering whether the 64 bit version will work with webconnection. You noted there are several 32 bit dependencies. I just came across a site on VFPadvanced that has a paper that indicates that the 64 bit version will work in a mixed mode and be able to handle both 32 bit and 64 bit com. If this is the case, it would seem like webconnection would work in the 64 bit environment. Here's the website with the paper:

http://www.annibalefreda.com/vfp_advanced/VFP%20Advanced%20project.pdf

Excerpts as follows:

For the out-of-process .exe automation server (for example, Microsoft Word, Excel), VFP Advanced 64-bit can use the 64-bit COM objects and the 32-bit COM objects.

For the in-process .dll automation server, VFP Advanced 64-bit can only use the 64- bit COM object. The COM+ applications

For the COM+ applications, VFP Advanced 64-bit can use the 64-bit COM+ applications and the 32-bit COM+ applications.

Just wondering whether I'm understanding this correctly? Thanks

Greg

Gravatar is a globally recognized avatar based on your email address. re: Visual FoxPro Advanced and Web Connection
  Rick Strahl
  Greg Dohm
  Feb 3, 2021 @ 12:12pm

Web Connection won't work under 64 bit because it uses a 32 bit DLL (wwIpstuff.dll) to provide various framework support features. wwDotnetBridge, various encoding/decoding features - all that requires 32 bit access. So it won't run 64 bit. It's not about COM access as COM invocation is in a separate process anyway so that can be either 32 or 64 bit without a problem.

Why 64 bit?

I really want to understand why anybody really needs a 64 bit version - of anything. Even in .NET where I can safely build 64 bit applications, I find that 32 bit apps tend to be more stable, use less memory and perform better because of the lesser mem usage.

32 bit works and will continue to work in Windows. Just because the OS is 64 bit doesn't mean 32 bit doesn't or won't work. Windows has a 32 bit subsystem that's a core part of the OS and there's no way that will go away. Most of us today run 64 bit versions of Windows and we run many, many 32 bit apps every day. The only way I see that going away is when Microsoft decides to build an ARM version of Windows in which case no Win32/64 apps are likely to run anyway (only runtime apps like .NET/Java or some other JIT compiled platform).

For VFP Advanced for 64 bit I think the only real difference is that you get the larger memory space. Everything else also works in 32 bit. 64 bit has only downsides: Namely that you'll run into compatibility issues. Any 32 bit DLL you call from 64 bit won't work. ActiveX controls, DLL Interfaces, custom FLLS, ODBC drivers you used before may not work. COM may, but direct DECLARE access will not. For desktop apps I'll bet 32 bit ActiveX is a problem: Like the WebBrowser control, Treeview, ListView, RichText... etc.

+++ Rick ---

Gravatar is a globally recognized avatar based on your email address. re: Visual FoxPro Advanced and Web Connection
  Steve
  Rick Strahl
  Feb 5, 2021 @ 09:45pm

Always appreciate your feedback and insight Rick. Thank you!

Maybe SQLServer or some other SQL Backend is the best way to break the 2GB barrier. Obviously there's a lot of work involved with converting a VFP App to work with SQLServer. I did it many years ago and I am so glad I did. Ever since, my VFP App can use either VFP Tables or SQLServer. I either use Local Views (VFP), or Remote Views (SQLServer). Most of my clients still use VFP Tables, but some use SQLServer. One great side benefit from the conversion, for me at least, is using Table Buffering = 5 on the VFP Tables almost completely eliminated any table corruption issues. Maybe part of that is improvements in Windows, maybe some of it is improvements in VFP, not sure.

Thanks again for the feedback.
Steve

Gravatar is a globally recognized avatar based on your email address. re: Visual FoxPro Advanced and Web Connection
  FoxInCloud Support - Thierry N.
  Steve
  Feb 6, 2021 @ 02:47am

FWIW, since V 10.15 (Catalina), Mac OSX no longer supports 32-bit apps.
I bet Windows will follow the same route, as soon as MS has migrated all its internal apps to 64-bit

Gravatar is a globally recognized avatar based on your email address. re: Visual FoxPro Advanced and Web Connection
  Steve
  FoxInCloud Support - Thierry N.
  Feb 6, 2021 @ 08:16am

Perhaps, no one knows what the future holds.

However, how many companies would that negatively impact across the globe, if M$ stopped supporting 32-Bit Apps? As a vendor (M$), would I want to put my customers in a position where I force them to re-engineer their entire way of doing business? How many business processes (i.e., software applications) would get broken by such a decision by M$? And, if I (the Customer) have to put forth that type of effort and change the tools that I use to run my business, wouldn't I be foolish not to look at alternative platforms? MAC, Linux, Google, etc....??? If a vendor forces me to go through this exercise, and forces me to incur this type of expense and headache, that vendor would move to the back of the list as a viable option in my book. So, I hope that M$ will look at this not only from a technical perspective, but just as importantly from a business perspective and the potential impact. I think they will, and I think they do. I always say, "Windows runs the business world". I've always loved Windows, from the first time I saw version 3.0. I hope to never have to seriously consider a switch to another platform. However, it's always an option.

Thanks for your perspective and all of your great contributions!!
Steve

Gravatar is a globally recognized avatar based on your email address. re: Visual FoxPro Advanced and Web Connection
  Gilles Lajot-Sarthou
  Steve
  Feb 6, 2021 @ 09:45am

Hi Promises are binding only on those who believe in them!

I beleive that 32 bits will be abandoned, it is in the order of things as it was the case for 16 bits.

ARM platforms will naturally accelerate this process of abandoning 32 bits.

Now on a human scale and especially for all Foxpro developers, we will have already retired before seeing 32 bits completely disappear, for others the migration to 64 bits is essential in the short or medium term!

Regards

Gilles

Gravatar is a globally recognized avatar based on your email address. re: Visual FoxPro Advanced and Web Connection
  Steve
  Gilles Lajot-Sarthou
  Feb 6, 2021 @ 10:19am

Yes, all good points.

Gravatar is a globally recognized avatar based on your email address. re: Visual FoxPro Advanced and Web Connection
  FoxInCloud Support - Thierry N.
  Steve
  Feb 6, 2021 @ 01:36pm

M$ seldom considers installed base when deciding to dump a product… remember VFP?

Gravatar is a globally recognized avatar based on your email address. re: Visual FoxPro Advanced and Web Connection
  Rick Strahl
  Gilles Lajot-Sarthou
  Feb 6, 2021 @ 03:35pm

I don't think you understand the scope of 32 bit applications. Take a look at your Program Files (x86) folder and see what's in there. Tons of stuff that you might not expect to be 32 bit.

32 bit works seamlessly on 64 bit Windows today and it's a natively supported part of the Windows eco system (via SysWow which is an integral part of Windows). Microsoft internally is moving their server products to 64 bit, which makes sense (larger memory requirements etc.) but on client Windows OS's 32 bit is still easily a third of apps running. Heck you can run 8 and 16 bit DOS applications on 64 bit Windows and that still works! Just because the OS is 64 bit doesn't mean you can't run 32/16/8 bit code.

If there will be an ARM version of Windows, it's much more likely that no x86/x64 apps will work, than only x64 apps working.

Look at what the M1 on MacOS is doing. Even there you can still run X86 Mac applications via Rosetta and from the looks of it it actually performs nearly as well as a native x86 processor.

We've been in a 64 bit world for more than 10 years now on Windows where the majority of OS shipments have been 64 bit, and yet 32 bit is not close to dead. So I wouldn't put any credence on 32 bit disappearing even on an x64 platform.

And this discussion in the face of FoxPro is so utterly ridiculous. Here we are with a 12 year out of support product and we're worried about it not running on x64? This is your worry? There are a much more structural issues that we have to worry about like UI issues (which are already a problem in the ever so dated IDE and the funky FoxPro Window UI mechanism) and file access issues due to non-updated file/network protocol (SMB) support.

+++ Rick ---

Gravatar is a globally recognized avatar based on your email address. re: Visual FoxPro Advanced and Web Connection
  Luca
  Rick Strahl
  Feb 8, 2021 @ 11:46pm

Dear Rick,
I am happy you tested VFP 10.
I have many customers and many projects based on VFP+WC, applications work very well, so I do not want spend years to recoding to migrate on SQL Server.
I needed to overcome 2 Gb limitation, so I adopted VFP 10.1 32-bit, because it solve the limitation without change any line of code.
Moreover, VFP 10.2 32-bit will use 32 Gb of memory before the end of year and I confide it will be a sprint to applications.
I have found no problems to update VFP 9 to the build 9.0.0.7423 and no problems to install VFP 10.1 32-bit on my development machine.
On Server I brought only the 2 runtime files (VFPAR.DLL, VFPAT.DLL), recompiled executables and all is right.
Every applications functionality has been preserved, so I can only speak well about the new VFP 10.
Moreover, the developer of VFP 10 gives full support and this too is comforting.
If Web Connection was a new life for FoxPro, then FoxPro Advanced is another one.

© 1996-2021