I actually wrote a whitepaper about that! Let me grab the relevant section
(since I haven't posted the entire thing quite yet, as it's a SWFox
Attendee Exclusive):

64-bit Visual FoxPro Advanced

Unbelievable as it may sound, Chen has *also* created a 64-bit version of
Visual FoxPro Advanced. It compiles 64-bit apps, which of course will only
run on 64-bit versions of Windows and aren’t necessarily faster than 32-bit
applications. So why would we want a 64-bit version?
Advantages of 64-bit VFPA More RAM

One obvious advantage of a 64-bit version is that it can take advantage of
more system RAM. A quick check of MEMORY() shows that it still shows 640,
same as it has since since the earliest days of Fox, so that’s not a very
useful function in either version. SYS(1001), which “returns the virtual
memory pool size, which is approximately four times the amount of physical
memory” also shows the same value for both the 32 and 64 bit version.
However, SYS(3050,1), which “returns the foreground buffer memory size”
shows the same value as SYS(1001) in the 32-bit version of VFPA, but TWICE
as much in the 64-bit version!  VFP Advanced 64-bit can access up to 4 GB
of RAM.
Larger DBF Sizes?

You may be thinking that a 64-bit version of VFPA may finally allow us to
overcome the 2 gigabyte limitation on DBF files. As of this writing that’s
not true, but Chen says he is working on this. At that file size, you may
be wise to upsize your data anyway.
Better Runtime

VFP9 and VFPA (32-bit) both use the MSVCR71.dll C++ runtime behind the
scenes. VFPA 64 uses the more recent and still supported MSVCR10.dll
runtime. I could have sworn I saw an announcement in the last few days
about Microsoft rolling all their C++ runtimes into one package, but now I
can’t find it. If you find this information and share it with me before my
session at Southwest Fox 2019, I’ll buy you a beer!
64-Bit ActiveX Controls and ODBC Drivers

The most compelling case for using a 64-bit version of Visual FoxPro
Advanced is that it allows you to use 64-bit ActiveX controls. For example,
if your client has switched over to the 64-bit version of Microsoft Office,
and your application does a lot of in-process Office automation, you’re out
of luck unless your application is also 64-bit. Visual FoxPro 9 and even
the 32-bit version of VFPA simply cannot use 64-bit ActiveX controls and
COM objects, and there are some compelling 64-bit only controls, such as
the ones from longtime Southwest Fox supports DBi Technologies (
https://www.dbi-tech.com/).

[image: ctxTreeView - 64 bit ActiveX Control - Studio Controls COM 64][image:
Text Box: Figure 5: DBi's TreeView Control][image: dbi gauge Win Froms
control - Data Acquisition - multiple gauge objects in a single gauge
control - from DBI Technologies Inc.]

Figure 6: DBi's Gauge Control





Similarly, you can take advantage of 64-bit ODBC drivers and their larger
capacities.


Disadvantages of 64-bit VFPA 32-Bit Controls and Drivers Do Not Work

If you have 32-bit ActiveX controls in your VFP application, they will not
work and will need to be upgraded (if an upgrade can even be found). This
includes some MDAC and Jet DAO drivers. The control this might affect most
is the oleTreeView control that ships with MSCOMCTL32.ocx. There is no
64-bit equivalent, so you’ll have to refactor your code to use the DBi
Technologies TreeView control (Figure 5) .  ListView, DateTimePicker, and
other controls in that package will also be affected.
Is it Compatible with 32-bit VFPA?

Chen has done extensive work to make the 64-bit version of VFPA completely
compatible with the 32-bit version. Any incompatibilities stem from
circumstances beyond his control, like the ActiveX issues. He has
extensively tested the DECLARE commands for using Windows APIs in VFP and
claims most of them work, but not all of them.

When I tried running GoFish5 in the 64-bit version of VFPA it failed
because GoFish5 uses TreeView and other 32-bit ActiveX controls. It will
have to be refactored for 64-bit.

[image: Text Box: IF TYPE("_win64") = "L" AND _win64 ? "VFP Advanced 64-bit
code" ELSE IF TYPE("_win64") = "L" AND ! _win64 ? "VFP Advanced 32-bit
code" ELSE ? "VFP 9.0 or before code" ENDIF ENDIF]Chen has added a new
_WIN64 constant that is only .T. for VFPA 64. This will allow for testing
and conditional compilation of your applications, so you won’t have to
maintain two separate codebases.


Conclusion Regarding 64-Bit Visual FoxPro Advanced

It’s unknown how long vendors of 3rd party controls will continue to
produce and support their 32-bit versions, or for that matter how long
Microsoft will continue to put out 32-bit versions of Windows since most
computers are 64-bit these days. Having a 64-bit option gives FoxPro
developers the possibility of moving into an all 64-bit future, alleviating
a grave concern. Because it’s not a seamless transition, developers who
want to ensure this future should begin testing their development tools
(like GoFish) and their own applications in 64-bit VFPA to see what’s
possible.

On Thu, Apr 16, 2020 at 1:50 PM Charlie Coleman <ccbible...@gmail.com>
wrote:

> Quick question. Are you all saying there is no Automation available to MS
> Office products in the 64-bit world?
>
> I recently wrote a quick VFP app to 'automate' Outlook (ref:
> createobject('outlook.application')) to generate and send a bunch of
> emails. The Outlook 365 was 64-bit (I think). Are you saying I would not
> have been able to do that if I would have used the 'VFP 10' runtimes, etc?
> I understand ActiveX/FLLs that were compiled 32-bit would be an issue - if
> they did not have a 64-bit version included.
>
> -Charlie
>
>
> On Thu, Apr 16, 2020 at 1:30 PM MB Software Solutions, LLC <
> mbsoftwaresoluti...@mbsoftwaresolutions.com> wrote:
>
> > Ah yes, the automation angle.  Temporarily forgot about that. Thanks,
> > wOOdy!
> >
> >
> > On 4/16/2020 1:24 PM, Jürgen Wondzinski wrote:
> > > You are correct, there is no reason to have a 64bit FoxPro application
> > for a regular Desktop app. It is different for building the middle-tier
> of
> > a distributed app or a Webserver extension. But on a regular desktop you
> > gain nothing, but inherit a lot of problems: No support for regular 32bit
> > ActiveX or FLL components. No COM-control of Office or other 32Bit stuff.
> > >
> > > Thus you better use the 32Bit version of VFPA, which is really highly
> > recommended, since it cures a lot of old bugs.
> > >
> > > wOOdy
> > >
> > >
> > >
> > > -----Ursprüngliche Nachricht-----
> > > Von: ProFox <profox-boun...@leafe.com> Im Auftrag von MB Software
> > Solutions, LLC
> > > Gesendet: Donnerstag, 16. April 2020 17:28
> > > An: ProFox Email List <profox@leafe.com>
> > > Betreff: 64-bit app via the Chen version
> > >
> > > I finally I downloaded the VFPA runtime files and am going to use that
> > IDE and develop/deploy with this "VFP 10" version since many here have
> > spoken of it without much negativity.
> > >
> > > Question:  what would be the benefit of using the 64-bit version IF I'M
> > NOT USING DBFS (because in my MBSS apps, I use MariaDB/MySQL as the
> > backend, not VFP).  I just don't see the benefit other than for marketing
> > my apps to say "they're 64-bit using the VC++ 10 runtimes."
> > >
> > > tia,
> > > --Mike
> > >
> > >
> > >
> > > --
> > > This email has been checked for viruses by Avast antivirus software.
> > > https://www.avast.com/antivirus
> > >
> > >
[excessive quoting removed by server]

_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: https://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: https://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: https://leafe.com/archives
This message: 
https://leafe.com/archives/byMID/caawxvumb-la1uqcv_s-ddkmxzqpydljsxcb5op4dzuko8sx...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to