SlideShare a Scribd company logo
Southwest
Fox 2019
VFP Advanced
Eric Selje
Salty Dog Solutions, LLC
Eric@SaltyDogLLC.com
@EricSelje
Southwest
Fox 2019
 Fox Developer since 1985
 Consulting/Developing w/ Salty Dog Solutions
 “MadFox” since 1995
 Maintainer of many legacy apps
Who is Eric Selje?
Southwest
Fox 2019
 What is VFP Advanced?
• Who wrote it, cost, licensing, legality
 What does it fix and what new features does it
add?
 What does 64-bit VFP Bring to the Party?
Agenda
Southwest
Fox 2019
What is VFP
Advanced?
Southwest
Fox 2019
What is VFP Advanced?
Southwest
Fox 2019
Bug Fixes
Intro
New
Features
64-Bit
 Began in 2012 by Mr. Chuanbing Chen
History
Southwest
Fox 2019
Bug Fixes
Intro
New
Features
64-Bit
Is this safe?
• Malware?
• Over 600 Customers
• Including himself
• Lose all trust
Southwest
Fox 2019
Bug Fixes
Intro
New
Features
64-Bit
Is this safe?
• Buggy?
• Less buggy than VFP9
Southwest
Fox 2019
Bug Fixes
Intro
New
Features
64-Bit
Is this legal?
• Copyrights
• “It’s your app”
• No charge
Southwest
Fox 2019
Bug Fixes
Intro
New
Features
64-Bit
 Free to Download
 $100/yr for support
Licensing
Southwest
Fox 2019
Bug Fixes
Intro
New
Features
64-Bit
Installing VFP Advanced
Southwest
Fox 2019
Bug Fixes
Intro
New
Features
64-Bit
Let’s Take a Look…
Southwest
Fox 2019
What Bug Fixes?
Southwest
Fox 2019
Bug Fixes
Intro
New
Features
64-Bit
1 Report Footer: Blank space between detail and page footer that wasn’t there in VFP 8 suddenly appears in VFP 9.
2 Macro Substitution doesn’t work if there’s a procedure larger than 64kb in the same program.
3 A form won’t run correctly if there’s a procedure larger than 64kb in the form
4 In vfp9 (and vfp6, vfp7, vfp8), if the RelationalExpr expression includes macros, EVALUATE(), or TYPE() functions, VFP will crash.
5 VFP debugger stops at invisible breakpoints
6 In VFP9, the Page Setup Dialog Box has no the Printer button on Windows Vista or later
7 Varbinary or Blob Data may cause VFP to enter infinite loop if STATUS BAR=OFF and TALK=ON
8 Find or Replace Dialog Box will sometimes crash VFP if “Match Whole Word” is selected in Double-Byte Character Set environments
9 Allow REPLACE command to use up to 255 fields
10 Access and Assign methods may crash VFP if STATUS BAR=OFF and TALK=ON
11 Change SET TALK and SET SAFETY to more reasonable defaults for a private data session
12 Don’t allow FOPEN() to return a file handle number of 0 (Zero)
13 Return more accurate information for OS() Function on newer Operating Systems
14 If we set the Grid.Optimize property to true (.T.), sometimes VFP will crash
15 Convert property names and method names to lowercase in the NTI to allow case-sensitive languages to use COM correctly
16 ComboBox Control may enter an infinite loop
17 SET COLLATE option not saved to registry if set to MACHINE
18 “Shadow” of dockable windows lags far behind
20 Always show Header.ToolTipText Property
22 SET RESOURCE OFF at startup in VFP Runtime and Multi-Threaded Runtime
24 Precision of ROUND()
Southwest
Fox 2019
Bug Fixes
Intro
New
Features
64-Bit
25 If main VFP form is not visible at startup, VFP will also not show the docked Command Window
26 Memo fields corrupted when part of SELECT… UNION if BLOCKSIZE > 1
27 EditBox Control / Modify Command windows may enter an Infinite Loop if non-printable characters are present
28 Change default location of FoxUser.dbf, _command.prg, and FoxTask.dbf to the user’s %APPDATA% folder rather than the startup folder
29 Expand maximum number of pictures a ListBox Control can display when RowSourceType = 5 (Array) from <500 to 65,000
30 Top Level Form (ShowWindow=2) Caption sometimes disappears in Windows 10
31 Sometimes cannot open Font Property Page for ActiveX control
32 GETPEM() cannot return the user-defined method code in a program
33 ASTACKINFO() does not return call stack information for ON events (ON ERROR, ON KEY LABEL, ON SELECTION, etc.)
34 DO FORM command from ON SELECTION BAR may crash VFP9 SP2
35 COPY FILE always creates the file with lowercase name
36 RETURN TO in Destroy event may not return to correct procedure
38 Round the Datetime seconds to integer
39 Set PageFrame.RightToLeft property to correct default (.F.)
40 “Report Objects are Too Large” error if scaling > 100% and REPORTBEHAVIOR = 90 on Windows 8.1 and 10
41 Page.Enabled Property not refreshed
43 Time data is lost for Datetime data in the VFPOLEDB Driver
45 CAST() function for the VFPOLEDB Driver does not convert Characters to Date
46 VARCHAR(MAX) and XML Field Types from SQL Server are now mapped as Memo fields. VARBINARY(MAX) fields are mapped as Blob fields.
47 Selected Report Objects are printed with a shadow if REPORTBEHAVIOR = 80
49 Allow the “Printing…” window to be hidden (see Fix 48)
Southwest
Fox 2019
Bug Fixes
Intro
New
Features
64-Bit
51 Allow the Print Preview Toolbar to be hidden (see Fix 50)
53 Allow the Print button in the Print Preview Toolbar to be disabled (see Fix 52)
55 Maximize the Report Preview window automatically if enabled (see Fix 54), otherwise show it in its current size and position
58 The Cursor Position is too small when scaling > 100%
60 ComboBox control sometimes does not allow you to select an item
62 Allow the maximum number of Window items to display in the Window Menu to 255 (see Fix 61)
64 Allows the List Portion of the ComboBox Control to be explicitly displayed above or below the control, rather than just letting VFP decide automatically
66 Allow FILETOSTR() to use the Windows System Cache rather than the CreateFileA Windows API function, which may trigger anti-virus programs
68 Allow STRTOFILE() to use the Windows System Cache rather than the CreateFileA Windows API function, which may trigger anti-virus programs
70 Allow variation of the number of times to try again after DELETE FILE Fails (see Fix 69)
72 Allow variation of the number of times you can try again after MKDIR / MD fails
74 Allow variation of the number of times to try again after RMDIR / RD fails
75 Open File or Save File Dialog Box only shows title bar, not dialog, on some versions of Windows 10
77 VERSION() returns the accurate Version Information for VFPA
80 Allow TMPFILES, EDITWORK, PROGWORK, and SORTWORK variables to include environment variables that are expanded when needed (see Fix 79)
82 Command Line options max length expanded to 4,095 bytes (up from 255)
83 Expand the Command Window to 10 rows, 80 columns if no resource file says otherwise (up from default of 5 rows, 50 columns)
85 BUILD EXE command uses the Windows System Cache rather than write to disk immediately, which slows it down and may interfere with anti-virus programs
88 Allow disabling the automatic closing of the file handle _TEXT before entering the ON ERROR routine
90 VFP versions 6-9 up to SP2 will try to read data from an Executable file even when at End-of-File
91 SQLSETPROP(0, “Transactions”,1) may throw error 1541 for some combinations of Windows and ODBC drivers
Southwest
Fox 2019
Bug Fixes
Intro
New
Features
64-Bit
1 Report Footer: Blank space between detail and page footer that wasn’t there in VFP 8 suddenly appears in VFP 9.
2 Macro Substitution doesn’t work if there’s a procedure larger than 64kb in the same program.
3 A form won’t run correctly if there’s a procedure larger than 64kb in the form
4 In vfp9 (and vfp6, vfp7, vfp8), if the RelationalExpr expression includes macros, EVALUATE(), or TYPE() functions, VFP will crash.
5 VFP debugger stops at invisible breakpoints
6 In VFP9, the Page Setup Dialog Box has no the Printer button on Windows Vista or later
7 Varbinary or Blob Data may cause VFP to enter infinite loop if STATUS BAR=OFF and TALK=ON
8 Find or Replace Dialog Box will sometimes crash VFP if “Match Whole Word” is selected in Double-Byte Character Set environments
9 Allow REPLACE command to use up to 255 fields
10 Access and Assign methods may crash VFP if STATUS BAR=OFF and TALK=ON
11 Change SET TALK and SET SAFETY to more reasonable defaults for a private data session
12 Don’t allow FOPEN() to return a file handle number of 0 (Zero)
13 Return more accurate information for OS() Function on newer Operating Systems
14 If we set the Grid.Optimize property to true (.T.), sometimes VFP will crash
15 Convert property names and method names to lowercase in the NTI to allow case-sensitive languages to use COM correctly
16 ComboBox Control may enter an infinite loop
17 SET COLLATE option not saved to registry if set to MACHINE
18 “Shadow” of dockable windows lags far behind
20 Always show Header.ToolTipText Property
22 SET RESOURCE OFF at startup in VFP Runtime and Multi-Threaded Runtime
24 Precision of ROUND()
Southwest
Fox 2019
Bug Fixes
Intro
New
Features
64-Bit
25 If main VFP form is not visible at startup, VFP will also not show the docked Command Window
26 Memo fields corrupted when part of SELECT… UNION if BLOCKSIZE > 1
27 EditBox Control / Modify Command windows may enter an Infinite Loop if non-printable characters are present
28 Change default location of FoxUser.dbf, _command.prg, and FoxTask.dbf to the user’s %APPDATA% folder rather than the startup folder
29 Expand maximum number of pictures a ListBox Control can display when RowSourceType = 5 (Array) from <500 to 65,000
30 Top Level Form (ShowWindow=2) Caption sometimes disappears in Windows 10
31 Sometimes cannot open Font Property Page for ActiveX control
32 GETPEM() cannot return the user-defined method code in a program
33 ASTACKINFO() does not return call stack information for ON events (ON ERROR, ON KEY LABEL, ON SELECTION, etc.)
34 DO FORM command from ON SELECTION BAR may crash VFP9 SP2
35 COPY FILE always creates the file with lowercase name
36 RETURN TO in Destroy event may not return to correct procedure
38 Round the Datetime seconds to integer
39 Set PageFrame.RightToLeft property to correct default (.F.)
40 “Report Objects are Too Large” error if scaling > 100% and REPORTBEHAVIOR = 90 on Windows 8.1 and 10
41 Page.Enabled Property not refreshed
43 Time data is lost for Datetime data in the VFPOLEDB Driver
45 CAST() function for the VFPOLEDB Driver does not convert Characters to Date
46 VARCHAR(MAX) and XML Field Types from SQL Server are now mapped as Memo fields. VARBINARY(MAX) fields are mapped as Blob fields.
47 Selected Report Objects are printed with a shadow if REPORTBEHAVIOR = 80
49 Allow the “Printing…” window to be hidden (see Fix 48)
Southwest
Fox 2019
Bug Fixes
Intro
New
Features
64-Bit
51 Allow the Print Preview Toolbar to be hidden (see Fix 50)
53 Allow the Print button in the Print Preview Toolbar to be disabled (see Fix 52)
55 Maximize the Report Preview window automatically if enabled (see Fix 54), otherwise show it in its current size and position
58 The Cursor Position is too small when scaling > 100%
60 ComboBox control sometimes does not allow you to select an item
62 Allow the maximum number of Window items to display in the Window Menu to 255 (see Fix 61)
64 Allows the List Portion of the ComboBox Control to be explicitly displayed above or below the control, rather than just letting VFP decide automatically
66 Allow FILETOSTR() to use the Windows System Cache rather than the CreateFileA Windows API function, which may trigger anti-virus programs
68 Allow STRTOFILE() to use the Windows System Cache rather than the CreateFileA Windows API function, which may trigger anti-virus programs
70 Allow variation of the number of times to try again after DELETE FILE Fails (see Fix 69)
72 Allow variation of the number of times you can try again after MKDIR / MD fails
74 Allow variation of the number of times to try again after RMDIR / RD fails
75 Open File or Save File Dialog Box only shows title bar, not dialog, on some versions of Windows 10
77 VERSION() returns the accurate Version Information for VFPA
80 Allow TMPFILES, EDITWORK, PROGWORK, and SORTWORK variables to include environment variables that are expanded when needed (see Fix 79)
82 Command Line options max length expanded to 4,095 bytes (up from 255)
83 Expand the Command Window to 10 rows, 80 columns if no resource file says otherwise (up from default of 5 rows, 50 columns)
85 BUILD EXE command uses the Windows System Cache rather than write to disk immediately, which slows it down and may interfere with anti-virus programs
88 Allow disabling the automatic closing of the file handle _TEXT before entering the ON ERROR routine
90 VFP versions 6-9 up to SP2 will try to read data from an Executable file even when at End-of-File
91 SQLSETPROP(0, “Transactions”,1) may throw error 1541 for some combinations of Windows and ODBC drivers
Southwest
Fox 2019
What new Features?
Southwest
Fox 2019
Bug Fixes
Intro
New
Features
64-Bit
New Features
19 SYS(9000) Enables or Disables shadows and docking the Dockable windows automatically
21 SYS(9079) cleans the System Data Buffer [internal use only]
23 SYS(9001) Enables or Disables adjusting the precision of floating point numbers
37 SYS(9002) Enables or Disables rounding the Datetime data (see Fix 38) to integer seconds
42 SYS(9003) Enables or Disables fixing the datetime data (see Fix 43) for the 32-bit VFPOLEDB driver (there is no 64-bit VFPOLEDB driver)
44 SYS(9004) Enables or Disables fixing the CAST() Function for the VFPOLEDB Driver (see Fix 45)
48 SYS(9005) Shows or Hides the “Printing….” Window if REPORTBEHAVIOR = 80
50 SYS(9006) Shows or Hides the Print Preview Toolbar
52 SYS(9007) Enables or Disables the Print button in the Print Preview Toolbar
54 SYS(9008) Enables or Disables maximizing the Report Preview Window automatically
Southwest
Fox 2019
Bug Fixes
Intro
New
Features
64-Bit
New Features
56 SYS(9009) Enables or Disables fixing the “Report Objects are Too Large” error (see Fix 40)
57 SYS(9010) Enables or Disables Fixing the Cursor Position is Too Small (see Fix 58)
59 SYS(9080) Enables or Disables releasing the COM Object in 64-bit VFPA
61 SYS(9011) sets or returns the maximum number of window items to display in the Window menu (also settable in Registry)
63
SYS(9012) sets or returns the direction of the List portion of the ComboBox Control either above or below the ComboBox control itself
(see Fix 64)
65 SYS(9013) Enables or Disables the FILETOSTR() function to use the Windows System Cache (see Fix 66)
67 SYS(9014) Enables or Disables the STRTOFILE() function to use the Windows System Cache (see Fix 68)
69
SYS(9015) sets or returns the number of retry attempts after DELETE FILE (or ERASE) fails, which may be caused by anti-virus
programs
71 SYS(9016) sets or returns the number of times to retry after MKDIR / MD command fails
73 SYS(9017) sets or returns the number of times to try again after RMDIR / RD fails
Southwest
Fox 2019
Bug Fixes
Intro
New
Features
64-Bit
New Features
76
SYS(9018) enables or disables the VERSION() function to return the new Version Information (see Fix 77). Disable for backward
compatibility.
78
SYS(9019) enables or disables the OS() function to return the accurate Operating System Information (see Fix 13). Disable for backward
compatibility.
79
SYS(9020) enables or disables the ability to expand TMPFILES, EDITWORK, PROGWORK, or SORTWORK with extra environment
variables unique to VFPA (VFPPROCESSID, VFPGUID, VFPTIMESTAMP, or VFPPROCNAME). This allows each process or even
procedures to have its own environment settings (see Fix 80, 81)
81 SYS(9021) explicitly sets TMPFILES, EDITWORK, PROGWORK, or SORTWORK programmatically (see Fix 80)
84 SYS(9022) enables or disables the BUILD EXE command to use the Windows System Cache (see Fix 85)
86 Add bitwise expressions for the CALCULATE command
87 SYS(9023) enables or disables closing the file handle _TEXT before entering the ON ERROR routine (see Fix 88)
89 SYS(9024) enables or disables reading data from an Executable file when at End-of-File (see Fix 90)
92 Hotkeys for Enlarge/Reduce Font in code editor
Southwest
Fox 2019
64-Bit VFP
Southwest
Fox 2019
Bug Fixes
Intro
New
Features
64-Bit
Why 64 Bit?
 More RAM
 Supported Runtime
 64 Bit Controls and Drivers
 DBF Sizes > 2GB?
Southwest
Fox 2019
Bug Fixes
Intro
New
Features
64-Bit
Why Not 64 Bit?
32 Bit Controls May Not Work
Southwest
Fox 2019
In Summary
Southwest
Fox 2019
 Safe
 Everyone should use 32-Bit Version on existing
applications
 Use 64-Bit Version if you need it and can take the
time to remediate any issues
 I would not recommend for new projects
My Conclusion
Southwest
Fox 2019
 What VFP Advanced is
 How it get it, install it, sleep well
 What features and fixes it adds to VFP
 What 64-Bit VFP gives you
 A better understanding of whether this is a tool
you should be using
What You Learned Today
Thank-You!
Please fill out your evaluation.
Southwest
Fox 2019
Eric Selje
Salty Dog Solutions, LLC
eric@SaltyDogLLC.com
@EricSelje
Southwest
Fox 2019
Bonus Info
Southwest
Fox 2019
How Chen Does It
Southwest
Fox 2019
 Graphic Utility
 Compile VFP to C++, and then to Native EXE
 Also encrypts
 Works w/ ALL versions of VFP (back to v. 6)
VFP C++ Compiler
VFP C++ Compiler
Figure 12: The VFP C++ Compiler
Southwest
Fox 2019
 CLI
 Makes your EXEs virtually undecompilable
 Also compresses
VFP Encryptor
SELJE - VFP Advanced.pptx

More Related Content

Similar to SELJE - VFP Advanced.pptx

PE102 - a Windows executable format overview (booklet V1)
PE102 - a Windows executable format overview (booklet V1)PE102 - a Windows executable format overview (booklet V1)
PE102 - a Windows executable format overview (booklet V1)
Ange Albertini
 
Cics TS 5.1 user experience
Cics TS 5.1 user experienceCics TS 5.1 user experience
Cics TS 5.1 user experience
Larry Lawler
 
扩展世界上最大的图片Blog社区
扩展世界上最大的图片Blog社区扩展世界上最大的图片Blog社区
扩展世界上最大的图片Blog社区
yiditushe
 
Dev buchan leveraging the notes c api
Dev buchan leveraging the notes c apiDev buchan leveraging the notes c api
Dev buchan leveraging the notes c api
Bill Buchan
 

Similar to SELJE - VFP Advanced.pptx (20)

TSO Productivity
TSO ProductivityTSO Productivity
TSO Productivity
 
PE102 - a Windows executable format overview (booklet V1)
PE102 - a Windows executable format overview (booklet V1)PE102 - a Windows executable format overview (booklet V1)
PE102 - a Windows executable format overview (booklet V1)
 
As400 session or device error
As400   session or device errorAs400   session or device error
As400 session or device error
 
Cics TS 5.1 user experience
Cics TS 5.1 user experienceCics TS 5.1 user experience
Cics TS 5.1 user experience
 
Icetool
IcetoolIcetool
Icetool
 
A compact bytecode format for JavaScriptCore
A compact bytecode format for JavaScriptCoreA compact bytecode format for JavaScriptCore
A compact bytecode format for JavaScriptCore
 
扩展世界上最大的图片Blog社区
扩展世界上最大的图片Blog社区扩展世界上最大的图片Blog社区
扩展世界上最大的图片Blog社区
 
Fotolog: Scaling the World's Largest Photo Blogging Community
Fotolog: Scaling the World's Largest Photo Blogging CommunityFotolog: Scaling the World's Largest Photo Blogging Community
Fotolog: Scaling the World's Largest Photo Blogging Community
 
HBase at Xiaomi
HBase at XiaomiHBase at Xiaomi
HBase at Xiaomi
 
Into The Box 2018 Ortus Keynote
Into The Box 2018 Ortus KeynoteInto The Box 2018 Ortus Keynote
Into The Box 2018 Ortus Keynote
 
Operating System Engineering
Operating System EngineeringOperating System Engineering
Operating System Engineering
 
SQL Server 2008 Performance Enhancements
SQL Server 2008 Performance EnhancementsSQL Server 2008 Performance Enhancements
SQL Server 2008 Performance Enhancements
 
Initial Configuration of Router
Initial Configuration of RouterInitial Configuration of Router
Initial Configuration of Router
 
Initial Configuration of Router
Initial Configuration of RouterInitial Configuration of Router
Initial Configuration of Router
 
loader.ppt
loader.pptloader.ppt
loader.ppt
 
Sangam 2019 - The Latest Features
Sangam 2019 - The Latest FeaturesSangam 2019 - The Latest Features
Sangam 2019 - The Latest Features
 
Dev buchan leveraging the notes c api
Dev buchan leveraging the notes c apiDev buchan leveraging the notes c api
Dev buchan leveraging the notes c api
 
12c Database new features
12c Database new features12c Database new features
12c Database new features
 
Oracle HA, DR, data warehouse loading, and license reduction through edge app...
Oracle HA, DR, data warehouse loading, and license reduction through edge app...Oracle HA, DR, data warehouse loading, and license reduction through edge app...
Oracle HA, DR, data warehouse loading, and license reduction through edge app...
 
Strategy and best practice for modern RPG
Strategy and best practice for modern RPGStrategy and best practice for modern RPG
Strategy and best practice for modern RPG
 

More from Eric Selje

More from Eric Selje (18)

SELJE - VFP and IT Security.pptx
SELJE - VFP and IT Security.pptxSELJE - VFP and IT Security.pptx
SELJE - VFP and IT Security.pptx
 
SELJE - VFP and IT Security.pdf
SELJE - VFP and IT Security.pdfSELJE - VFP and IT Security.pdf
SELJE - VFP and IT Security.pdf
 
SELJE - VFP Advanced.pdf
SELJE - VFP Advanced.pdfSELJE - VFP Advanced.pdf
SELJE - VFP Advanced.pdf
 
SELJE - Look at X Sharp.pptx
SELJE - Look at X Sharp.pptxSELJE - Look at X Sharp.pptx
SELJE - Look at X Sharp.pptx
 
SELJE - Look at X Sharp.pdf
SELJE - Look at X Sharp.pdfSELJE - Look at X Sharp.pdf
SELJE - Look at X Sharp.pdf
 
OneNote to Rule Them All.pdf
OneNote to Rule Them All.pdfOneNote to Rule Them All.pdf
OneNote to Rule Them All.pdf
 
FoxUnit in Depth.pptx
FoxUnit in Depth.pptxFoxUnit in Depth.pptx
FoxUnit in Depth.pptx
 
OneNote to Rule Them All Slides.pptx
OneNote to Rule Them All Slides.pptxOneNote to Rule Them All Slides.pptx
OneNote to Rule Them All Slides.pptx
 
SELJE_Database_Unit_Testing_Slides.pdf
SELJE_Database_Unit_Testing_Slides.pdfSELJE_Database_Unit_Testing_Slides.pdf
SELJE_Database_Unit_Testing_Slides.pdf
 
SELJE_Database_Unit_Testing.pdf
SELJE_Database_Unit_Testing.pdfSELJE_Database_Unit_Testing.pdf
SELJE_Database_Unit_Testing.pdf
 
Selje_SSMS (Slides).pdf
Selje_SSMS (Slides).pdfSelje_SSMS (Slides).pdf
Selje_SSMS (Slides).pdf
 
Selje_SSMS for the Accidental DBA.pdf
Selje_SSMS for the Accidental DBA.pdfSelje_SSMS for the Accidental DBA.pdf
Selje_SSMS for the Accidental DBA.pdf
 
Selje_Fox on the Run.ppt
Selje_Fox on the Run.pptSelje_Fox on the Run.ppt
Selje_Fox on the Run.ppt
 
Selje_Fox on the Run.pdf
Selje_Fox on the Run.pdfSelje_Fox on the Run.pdf
Selje_Fox on the Run.pdf
 
Selje_Extending Web Apps.ppt
Selje_Extending Web Apps.pptSelje_Extending Web Apps.ppt
Selje_Extending Web Apps.ppt
 
Selje_Amazing VFP2C32 Library.pdf
Selje_Amazing VFP2C32 Library.pdfSelje_Amazing VFP2C32 Library.pdf
Selje_Amazing VFP2C32 Library.pdf
 
Don't Be a Target!
Don't Be a Target! Don't Be a Target!
Don't Be a Target!
 
Energy audit tablet screenshots
Energy audit tablet screenshotsEnergy audit tablet screenshots
Energy audit tablet screenshots
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 

Recently uploaded (20)

AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 

SELJE - VFP Advanced.pptx

  • 1. Southwest Fox 2019 VFP Advanced Eric Selje Salty Dog Solutions, LLC Eric@SaltyDogLLC.com @EricSelje
  • 2. Southwest Fox 2019  Fox Developer since 1985  Consulting/Developing w/ Salty Dog Solutions  “MadFox” since 1995  Maintainer of many legacy apps Who is Eric Selje?
  • 3. Southwest Fox 2019  What is VFP Advanced? • Who wrote it, cost, licensing, legality  What does it fix and what new features does it add?  What does 64-bit VFP Bring to the Party? Agenda
  • 6. Southwest Fox 2019 Bug Fixes Intro New Features 64-Bit  Began in 2012 by Mr. Chuanbing Chen History
  • 7. Southwest Fox 2019 Bug Fixes Intro New Features 64-Bit Is this safe? • Malware? • Over 600 Customers • Including himself • Lose all trust
  • 8. Southwest Fox 2019 Bug Fixes Intro New Features 64-Bit Is this safe? • Buggy? • Less buggy than VFP9
  • 9. Southwest Fox 2019 Bug Fixes Intro New Features 64-Bit Is this legal? • Copyrights • “It’s your app” • No charge
  • 10. Southwest Fox 2019 Bug Fixes Intro New Features 64-Bit  Free to Download  $100/yr for support Licensing
  • 14. Southwest Fox 2019 Bug Fixes Intro New Features 64-Bit 1 Report Footer: Blank space between detail and page footer that wasn’t there in VFP 8 suddenly appears in VFP 9. 2 Macro Substitution doesn’t work if there’s a procedure larger than 64kb in the same program. 3 A form won’t run correctly if there’s a procedure larger than 64kb in the form 4 In vfp9 (and vfp6, vfp7, vfp8), if the RelationalExpr expression includes macros, EVALUATE(), or TYPE() functions, VFP will crash. 5 VFP debugger stops at invisible breakpoints 6 In VFP9, the Page Setup Dialog Box has no the Printer button on Windows Vista or later 7 Varbinary or Blob Data may cause VFP to enter infinite loop if STATUS BAR=OFF and TALK=ON 8 Find or Replace Dialog Box will sometimes crash VFP if “Match Whole Word” is selected in Double-Byte Character Set environments 9 Allow REPLACE command to use up to 255 fields 10 Access and Assign methods may crash VFP if STATUS BAR=OFF and TALK=ON 11 Change SET TALK and SET SAFETY to more reasonable defaults for a private data session 12 Don’t allow FOPEN() to return a file handle number of 0 (Zero) 13 Return more accurate information for OS() Function on newer Operating Systems 14 If we set the Grid.Optimize property to true (.T.), sometimes VFP will crash 15 Convert property names and method names to lowercase in the NTI to allow case-sensitive languages to use COM correctly 16 ComboBox Control may enter an infinite loop 17 SET COLLATE option not saved to registry if set to MACHINE 18 “Shadow” of dockable windows lags far behind 20 Always show Header.ToolTipText Property 22 SET RESOURCE OFF at startup in VFP Runtime and Multi-Threaded Runtime 24 Precision of ROUND()
  • 15. Southwest Fox 2019 Bug Fixes Intro New Features 64-Bit 25 If main VFP form is not visible at startup, VFP will also not show the docked Command Window 26 Memo fields corrupted when part of SELECT… UNION if BLOCKSIZE > 1 27 EditBox Control / Modify Command windows may enter an Infinite Loop if non-printable characters are present 28 Change default location of FoxUser.dbf, _command.prg, and FoxTask.dbf to the user’s %APPDATA% folder rather than the startup folder 29 Expand maximum number of pictures a ListBox Control can display when RowSourceType = 5 (Array) from <500 to 65,000 30 Top Level Form (ShowWindow=2) Caption sometimes disappears in Windows 10 31 Sometimes cannot open Font Property Page for ActiveX control 32 GETPEM() cannot return the user-defined method code in a program 33 ASTACKINFO() does not return call stack information for ON events (ON ERROR, ON KEY LABEL, ON SELECTION, etc.) 34 DO FORM command from ON SELECTION BAR may crash VFP9 SP2 35 COPY FILE always creates the file with lowercase name 36 RETURN TO in Destroy event may not return to correct procedure 38 Round the Datetime seconds to integer 39 Set PageFrame.RightToLeft property to correct default (.F.) 40 “Report Objects are Too Large” error if scaling > 100% and REPORTBEHAVIOR = 90 on Windows 8.1 and 10 41 Page.Enabled Property not refreshed 43 Time data is lost for Datetime data in the VFPOLEDB Driver 45 CAST() function for the VFPOLEDB Driver does not convert Characters to Date 46 VARCHAR(MAX) and XML Field Types from SQL Server are now mapped as Memo fields. VARBINARY(MAX) fields are mapped as Blob fields. 47 Selected Report Objects are printed with a shadow if REPORTBEHAVIOR = 80 49 Allow the “Printing…” window to be hidden (see Fix 48)
  • 16. Southwest Fox 2019 Bug Fixes Intro New Features 64-Bit 51 Allow the Print Preview Toolbar to be hidden (see Fix 50) 53 Allow the Print button in the Print Preview Toolbar to be disabled (see Fix 52) 55 Maximize the Report Preview window automatically if enabled (see Fix 54), otherwise show it in its current size and position 58 The Cursor Position is too small when scaling > 100% 60 ComboBox control sometimes does not allow you to select an item 62 Allow the maximum number of Window items to display in the Window Menu to 255 (see Fix 61) 64 Allows the List Portion of the ComboBox Control to be explicitly displayed above or below the control, rather than just letting VFP decide automatically 66 Allow FILETOSTR() to use the Windows System Cache rather than the CreateFileA Windows API function, which may trigger anti-virus programs 68 Allow STRTOFILE() to use the Windows System Cache rather than the CreateFileA Windows API function, which may trigger anti-virus programs 70 Allow variation of the number of times to try again after DELETE FILE Fails (see Fix 69) 72 Allow variation of the number of times you can try again after MKDIR / MD fails 74 Allow variation of the number of times to try again after RMDIR / RD fails 75 Open File or Save File Dialog Box only shows title bar, not dialog, on some versions of Windows 10 77 VERSION() returns the accurate Version Information for VFPA 80 Allow TMPFILES, EDITWORK, PROGWORK, and SORTWORK variables to include environment variables that are expanded when needed (see Fix 79) 82 Command Line options max length expanded to 4,095 bytes (up from 255) 83 Expand the Command Window to 10 rows, 80 columns if no resource file says otherwise (up from default of 5 rows, 50 columns) 85 BUILD EXE command uses the Windows System Cache rather than write to disk immediately, which slows it down and may interfere with anti-virus programs 88 Allow disabling the automatic closing of the file handle _TEXT before entering the ON ERROR routine 90 VFP versions 6-9 up to SP2 will try to read data from an Executable file even when at End-of-File 91 SQLSETPROP(0, “Transactions”,1) may throw error 1541 for some combinations of Windows and ODBC drivers
  • 17. Southwest Fox 2019 Bug Fixes Intro New Features 64-Bit 1 Report Footer: Blank space between detail and page footer that wasn’t there in VFP 8 suddenly appears in VFP 9. 2 Macro Substitution doesn’t work if there’s a procedure larger than 64kb in the same program. 3 A form won’t run correctly if there’s a procedure larger than 64kb in the form 4 In vfp9 (and vfp6, vfp7, vfp8), if the RelationalExpr expression includes macros, EVALUATE(), or TYPE() functions, VFP will crash. 5 VFP debugger stops at invisible breakpoints 6 In VFP9, the Page Setup Dialog Box has no the Printer button on Windows Vista or later 7 Varbinary or Blob Data may cause VFP to enter infinite loop if STATUS BAR=OFF and TALK=ON 8 Find or Replace Dialog Box will sometimes crash VFP if “Match Whole Word” is selected in Double-Byte Character Set environments 9 Allow REPLACE command to use up to 255 fields 10 Access and Assign methods may crash VFP if STATUS BAR=OFF and TALK=ON 11 Change SET TALK and SET SAFETY to more reasonable defaults for a private data session 12 Don’t allow FOPEN() to return a file handle number of 0 (Zero) 13 Return more accurate information for OS() Function on newer Operating Systems 14 If we set the Grid.Optimize property to true (.T.), sometimes VFP will crash 15 Convert property names and method names to lowercase in the NTI to allow case-sensitive languages to use COM correctly 16 ComboBox Control may enter an infinite loop 17 SET COLLATE option not saved to registry if set to MACHINE 18 “Shadow” of dockable windows lags far behind 20 Always show Header.ToolTipText Property 22 SET RESOURCE OFF at startup in VFP Runtime and Multi-Threaded Runtime 24 Precision of ROUND()
  • 18. Southwest Fox 2019 Bug Fixes Intro New Features 64-Bit 25 If main VFP form is not visible at startup, VFP will also not show the docked Command Window 26 Memo fields corrupted when part of SELECT… UNION if BLOCKSIZE > 1 27 EditBox Control / Modify Command windows may enter an Infinite Loop if non-printable characters are present 28 Change default location of FoxUser.dbf, _command.prg, and FoxTask.dbf to the user’s %APPDATA% folder rather than the startup folder 29 Expand maximum number of pictures a ListBox Control can display when RowSourceType = 5 (Array) from <500 to 65,000 30 Top Level Form (ShowWindow=2) Caption sometimes disappears in Windows 10 31 Sometimes cannot open Font Property Page for ActiveX control 32 GETPEM() cannot return the user-defined method code in a program 33 ASTACKINFO() does not return call stack information for ON events (ON ERROR, ON KEY LABEL, ON SELECTION, etc.) 34 DO FORM command from ON SELECTION BAR may crash VFP9 SP2 35 COPY FILE always creates the file with lowercase name 36 RETURN TO in Destroy event may not return to correct procedure 38 Round the Datetime seconds to integer 39 Set PageFrame.RightToLeft property to correct default (.F.) 40 “Report Objects are Too Large” error if scaling > 100% and REPORTBEHAVIOR = 90 on Windows 8.1 and 10 41 Page.Enabled Property not refreshed 43 Time data is lost for Datetime data in the VFPOLEDB Driver 45 CAST() function for the VFPOLEDB Driver does not convert Characters to Date 46 VARCHAR(MAX) and XML Field Types from SQL Server are now mapped as Memo fields. VARBINARY(MAX) fields are mapped as Blob fields. 47 Selected Report Objects are printed with a shadow if REPORTBEHAVIOR = 80 49 Allow the “Printing…” window to be hidden (see Fix 48)
  • 19. Southwest Fox 2019 Bug Fixes Intro New Features 64-Bit 51 Allow the Print Preview Toolbar to be hidden (see Fix 50) 53 Allow the Print button in the Print Preview Toolbar to be disabled (see Fix 52) 55 Maximize the Report Preview window automatically if enabled (see Fix 54), otherwise show it in its current size and position 58 The Cursor Position is too small when scaling > 100% 60 ComboBox control sometimes does not allow you to select an item 62 Allow the maximum number of Window items to display in the Window Menu to 255 (see Fix 61) 64 Allows the List Portion of the ComboBox Control to be explicitly displayed above or below the control, rather than just letting VFP decide automatically 66 Allow FILETOSTR() to use the Windows System Cache rather than the CreateFileA Windows API function, which may trigger anti-virus programs 68 Allow STRTOFILE() to use the Windows System Cache rather than the CreateFileA Windows API function, which may trigger anti-virus programs 70 Allow variation of the number of times to try again after DELETE FILE Fails (see Fix 69) 72 Allow variation of the number of times you can try again after MKDIR / MD fails 74 Allow variation of the number of times to try again after RMDIR / RD fails 75 Open File or Save File Dialog Box only shows title bar, not dialog, on some versions of Windows 10 77 VERSION() returns the accurate Version Information for VFPA 80 Allow TMPFILES, EDITWORK, PROGWORK, and SORTWORK variables to include environment variables that are expanded when needed (see Fix 79) 82 Command Line options max length expanded to 4,095 bytes (up from 255) 83 Expand the Command Window to 10 rows, 80 columns if no resource file says otherwise (up from default of 5 rows, 50 columns) 85 BUILD EXE command uses the Windows System Cache rather than write to disk immediately, which slows it down and may interfere with anti-virus programs 88 Allow disabling the automatic closing of the file handle _TEXT before entering the ON ERROR routine 90 VFP versions 6-9 up to SP2 will try to read data from an Executable file even when at End-of-File 91 SQLSETPROP(0, “Transactions”,1) may throw error 1541 for some combinations of Windows and ODBC drivers
  • 21. Southwest Fox 2019 Bug Fixes Intro New Features 64-Bit New Features 19 SYS(9000) Enables or Disables shadows and docking the Dockable windows automatically 21 SYS(9079) cleans the System Data Buffer [internal use only] 23 SYS(9001) Enables or Disables adjusting the precision of floating point numbers 37 SYS(9002) Enables or Disables rounding the Datetime data (see Fix 38) to integer seconds 42 SYS(9003) Enables or Disables fixing the datetime data (see Fix 43) for the 32-bit VFPOLEDB driver (there is no 64-bit VFPOLEDB driver) 44 SYS(9004) Enables or Disables fixing the CAST() Function for the VFPOLEDB Driver (see Fix 45) 48 SYS(9005) Shows or Hides the “Printing….” Window if REPORTBEHAVIOR = 80 50 SYS(9006) Shows or Hides the Print Preview Toolbar 52 SYS(9007) Enables or Disables the Print button in the Print Preview Toolbar 54 SYS(9008) Enables or Disables maximizing the Report Preview Window automatically
  • 22. Southwest Fox 2019 Bug Fixes Intro New Features 64-Bit New Features 56 SYS(9009) Enables or Disables fixing the “Report Objects are Too Large” error (see Fix 40) 57 SYS(9010) Enables or Disables Fixing the Cursor Position is Too Small (see Fix 58) 59 SYS(9080) Enables or Disables releasing the COM Object in 64-bit VFPA 61 SYS(9011) sets or returns the maximum number of window items to display in the Window menu (also settable in Registry) 63 SYS(9012) sets or returns the direction of the List portion of the ComboBox Control either above or below the ComboBox control itself (see Fix 64) 65 SYS(9013) Enables or Disables the FILETOSTR() function to use the Windows System Cache (see Fix 66) 67 SYS(9014) Enables or Disables the STRTOFILE() function to use the Windows System Cache (see Fix 68) 69 SYS(9015) sets or returns the number of retry attempts after DELETE FILE (or ERASE) fails, which may be caused by anti-virus programs 71 SYS(9016) sets or returns the number of times to retry after MKDIR / MD command fails 73 SYS(9017) sets or returns the number of times to try again after RMDIR / RD fails
  • 23. Southwest Fox 2019 Bug Fixes Intro New Features 64-Bit New Features 76 SYS(9018) enables or disables the VERSION() function to return the new Version Information (see Fix 77). Disable for backward compatibility. 78 SYS(9019) enables or disables the OS() function to return the accurate Operating System Information (see Fix 13). Disable for backward compatibility. 79 SYS(9020) enables or disables the ability to expand TMPFILES, EDITWORK, PROGWORK, or SORTWORK with extra environment variables unique to VFPA (VFPPROCESSID, VFPGUID, VFPTIMESTAMP, or VFPPROCNAME). This allows each process or even procedures to have its own environment settings (see Fix 80, 81) 81 SYS(9021) explicitly sets TMPFILES, EDITWORK, PROGWORK, or SORTWORK programmatically (see Fix 80) 84 SYS(9022) enables or disables the BUILD EXE command to use the Windows System Cache (see Fix 85) 86 Add bitwise expressions for the CALCULATE command 87 SYS(9023) enables or disables closing the file handle _TEXT before entering the ON ERROR routine (see Fix 88) 89 SYS(9024) enables or disables reading data from an Executable file when at End-of-File (see Fix 90) 92 Hotkeys for Enlarge/Reduce Font in code editor
  • 25. Southwest Fox 2019 Bug Fixes Intro New Features 64-Bit Why 64 Bit?  More RAM  Supported Runtime  64 Bit Controls and Drivers  DBF Sizes > 2GB?
  • 26. Southwest Fox 2019 Bug Fixes Intro New Features 64-Bit Why Not 64 Bit? 32 Bit Controls May Not Work
  • 28. Southwest Fox 2019  Safe  Everyone should use 32-Bit Version on existing applications  Use 64-Bit Version if you need it and can take the time to remediate any issues  I would not recommend for new projects My Conclusion
  • 29. Southwest Fox 2019  What VFP Advanced is  How it get it, install it, sleep well  What features and fixes it adds to VFP  What 64-Bit VFP gives you  A better understanding of whether this is a tool you should be using What You Learned Today
  • 30. Thank-You! Please fill out your evaluation. Southwest Fox 2019 Eric Selje Salty Dog Solutions, LLC eric@SaltyDogLLC.com @EricSelje
  • 31.
  • 34. Southwest Fox 2019  Graphic Utility  Compile VFP to C++, and then to Native EXE  Also encrypts  Works w/ ALL versions of VFP (back to v. 6) VFP C++ Compiler
  • 35. VFP C++ Compiler Figure 12: The VFP C++ Compiler
  • 36. Southwest Fox 2019  CLI  Makes your EXEs virtually undecompilable  Also compresses VFP Encryptor

Editor's Notes

  1. In this session, we'll dive into this free patch for Visual FoxPro. We'll go over some (but not all 81, as of this writing) bugs that it fixes, discuss what being 64-bit does for us, and have a conversation about whether you want to develop and release software that uses this patch. Is it dangerous? Buggy? Well-supported? Let’s find out…
  2. Imagine there’s a group of employees at Microsoft. They are heartbroken when they hear “the announcement:” development on the Fox product line is ceasing. They know how great Visual FoxPro is and see the potential for what it can be. These employees are also aware of a few niggling bugs in the product and are determined to see them fixed and released to their devoted user base. And they have access to the Visual FoxPro 9 source code. So, they go rogue. They start secretly releasing updates to Visual FoxPro 9 that fix over 80 bugs they found. And then they add a few features too. And with some brilliant coding, they even release the oft-requested 64-bit version of Visual FoxPro 9 as well!
  3. Imagine there’s a group of employees at Microsoft. They are heartbroken when they hear “the announcement:” development on the Fox product line is ceasing. They know how great Visual FoxPro is and see the potential for what it can be. These employees are also aware of a few niggling bugs in the product and are determined to see them fixed and released to their devoted user base. And they have access to the Visual FoxPro 9 source code. So, they go rogue. They start secretly releasing updates to Visual FoxPro 9 that fix over 80 bugs they found. And then they add a few features too. And with some brilliant coding, they even release the oft-requested 64-bit version of Visual FoxPro 9 as well!
  4. Chuanbing translates to “Don’t Use Bing” or “Chandler Bing” 
  5. POS, Contracting Software Wireshark
  6. How do we know it’s not buggy?
  7. Careful not to change copyrights Microsoft has turned a blind eye, essentially saying “You bought FoxPro, do with it what you want.” Does not charge for it
  8. Side by Side with existing VFP VFP itself is untouched Will verify that you have prerequisites already installed VFP 9 w/ SP 2 and HotFix 3
  9. Fire it up Point out Caption Help, About Show Task Manager Run FoxUnit Run Thor DO c:\dev\fox\thor\thor\thor.app / GoFish F3 / Project Exploer This *IS* Visual FoxPro
  10. MSVCR10.dll
  11.      Molebox is a pack tool for vfp programs, it is easy to be decompiled.        Refox is a encrypt tool for vfp programs, but it can be decompiled too.        Defox is a encrypt tool for vfp programs, to decompile it is very difficult.        VFP C++ Compiler is a protect tool, it is not only a encryptor but also a compiler, now I think it is the best protect tool for vfp programs.      For VFP C++ Compiler, the EXE file can be decompiled, but the DLL file can only be disassembled, it can't be decompiled.
  12. The compiled executable file and the dynamic link library file can be compressed with UPX or other compression tools.      For the executable file, the compression rate is between 5% and 30%.      For the dynamic link library file, the compression rate is between 30% and 50%.     2, Anti-decompile the executable file        The EXE file can be decompiled (for example, VFP Hooker), but the DLL file      can only be disassembled.        If we open the debug mode, FOXRUNPRGTEMP1, FOXRUNVCXTEMP1, FOXRUNSCXTEMP1,      FOXRUNFRXTEMP1, FOXRUNLBXTEMP1 folder under the project is the files eventually      included in the EXE file, which is basically does not contain useful VFP source      code. In other words, even decompile the EXE file, and there is no value.        Usually, VFP C++ Compiler generated the DLL file of up to tens of MB, its C      source code of up to several hundred MB, to disassemble and analysis the DLL      file will be a huge, time-consuming, it may not have any results and significance      of the mission.
  13. (On the “Bonus Slide” layout, the Kokopellis at the bottom hyperlink back to the Thank-You slide) Chen also has another, free, utility on his website called VFP Encryptor. He purports that if you run your VFP executable through this utility, it will be virtually undecompilable. [There’s an interesting discussion about this at https://www.foxite.com/archives/who-can-hack-this-one-0000260349.htm] VFP Encryptor is a command line utility with the following options: /VEENCRYPT=ON|OFF Encrypt Executable File /VEPACKEXE=ON|OFF Compress Executable File /SILENT=ON|OFF Silent Mode