Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
64-bit VFP is Finally Here!!!!!
Message
From
18/03/2017 03:53:08
 
 
To
17/03/2017 07:20:26
General information
Forum:
Visual FoxPro
Category:
VFPX/Sedna
Environment versions
Visual FoxPro:
VFP 8 SP1
OS:
Windows Server 2016
Network:
Windows Server 2016
Database:
Visual FoxPro
Application:
Web
Virtual environment:
VMWare
Miscellaneous
Thread ID:
01649111
Message ID:
01649152
Views:
1472
Likes (2)
Hi Daniel,

> 1) are the VFP advanced tools producing VFP-style executables (with a requirement for a series of runtime dlls) ?
Yes.
VFP Advanced = VFP 9.0.0.7423 (SP2) + VFP 9.0 Fixes, it is an unofficial service package,
so the executables compiled with VFP Advanced 32-bit is very similar to the executables compiled with VFP 9,
the executables compiled with VFP Advanced 64-bit is a 64-bit executable files.

For the executable file and runtime library files:
VFPA.EXE = VFP9.DLL + VFP9ENU.DLL
VFPAR.DLL = VFP9R.DLL + VFP9RENU.DLL
VFPAT.DLL = VFP9T.DLL + VFP9RENU.DLL

> 2) is the VFP compiler tool producing standalone Executables (with NO requirement for dll) ?
VFP C++ Compiler need the VFP project file and all source files,
it read all source files in the VFP project,
and then convert it to the C/C++ code,
and then call C/C++ compiler to compile the C/C++ code to a dll/fll file.

Usually, VFP C++ Compiler compile and generate an executable file (.exe) and a Dynamic Link Library File (.dll/.fll).

Usually the compiled executable file need the runtime library files (for example, vfpar.dll and vfpcore.dll) to run.
if we select "Include VFP Support Library",
then the compiled executable file can run fine without the runtime library files (for example, vfpar.dll and vfpcore.dll).

> 3) is the VFP speed untouched (quite wary on this one!)? Is the runtime memory use decent?

Sometimes the compiled executable file run faster.

1) VFP C++ Compiler use a global NTI (Name Table Index),
When it call a program (compiled with VFP C++ Compiler),
it need not to built some new NTIs (the NTIs have exist).

2) After VFP run a commands,
it will call a idle loop function.

Usually, VFP C++ Compiler and compile the code block to a C function,
it run the C function, and then run the idle loop function one time.

For the original VFP code,
it run 1 line VFP code, and then run the idle loop function,
so it will run many times for the idle loop function,
so the original VFP code run slower, and the compiled code run faster.

3) UPX,
If the executable file compressed with UPX,
it is smaller, so it load faster from disk.

> 4) can you except a reasonably complex VFP9 application - with its pack of dependencies to activeX and COM-based stuff (both MS-Office and third-parties) to work decently ? Is that true for the 64-bit version as well?

Usually, if the VFP 9 project can run fine, it can run fine too if it compiled with VFP C++ Compiler.

VFP Advanced (x64) is a 64-bit program,
so it ONLY can use 64-bit DLL files (DECLARE statement) and 64-bit FLL files (SET LIBRARY statement),
but now there is no the MS Common Controls 64-bit version such as TreeView, ListView, DateTimePicker and etc.,
so we must use the third-party ActiveX controls 64-bit version or build the ActiveX controls 64-bit version ourself.

> 5) deployment conditions of the executables built with Chuanbing tools?

Similar to VFP 9.

For the executable file and runtime library files:
VFPA.EXE = VFP9.DLL + VFP9ENU.DLL
VFPAR.DLL = VFP9R.DLL + VFP9RENU.DLL
VFPAT.DLL = VFP9T.DLL + VFP9RENU.DLL

For the compiled executable file compiled with VFP C++ Compiler,
Usually it need another runtime library file vfpcore.dll to run.

Best regards.

Chen
2017.3.18
Welcome to VFP C++ Compiler: http://www.baiyujia.com/vfpcompiler
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform