The VFP OLE DB Provider allows other programming languages and applications to access Visual FoxPro databases and tables.
The VFP OLE DB Provider is 32-bit dll (VfpOleDB.dll) and cannot be used by 64-bit applications.
VFP OLE DB provider can be downloaded from here. It's the same version as the one included with Visual FoxPro 9.0 SP2.
On 64-bit Windows the 32-bit Windows-based applications run under WOW64 x86 emulator. WOW64 isolates 32-bit applications from 64-bit applications, which includes preventing file and registry collisions. Console, GUI, and service applications are supported. However, 32-bit processes cannot load 64-bit DLLs, and 64-bit processes cannot load 32-bit DLLs.
|This is sample code. Add error handling and adjust to your requirements as necessary.|
lcHtml = HtmlFromClipboard() IF NOT ISNULL(lcHtml) lnStartHTML = VAL(STREXTRACT(lcHtml, "StartHTML:", "")) lnEndHTML = VAL(STREXTRACT(lcHtml, "EndHTML:", "")) * If StartFragment is present, retrieve HTML fragment IF ("StartFragment" $ lcHtml)
Code that runs fine in development may generate Appropriate license for this class not found (OLE error code 0x80040112) at run-time.
There are two types of licenses for ActiveX controls - development and run-time. See INFO: OLE Control Licensing in Visual FoxPro for more information.
A location and size of the Windows Taskbar can be retrieved with SHAppBarMessage Function.
When validating a function, procedure or method parameters, it's sometimes necessary to determine if passed parameter is an array. Until VFP 9.0 there was no obvious way to do that.
Array Browser utility is a development tool to view an array content in a Browse window. Useful in analyzing content of the arrays during development process.
There're many ways to change file attributes. It can be done through Windows Explorer, DOS ATTRIB comand, third party utilites, e.t.c. Also it can be done programmatically using Windows Scripting Host (WSH) or/and Windows API.
Deleting characters in a TextBox with Backspace key doesn't stop when cursor reaches the beginning position but unexpectedly moves cursor to the previous control. It could cause unintended deletion of the data there.
It is easy to find out if a table belongs to the open Database Container (DBC) using INDBC() function. Sometimes it's necessary to check it w/o referring to DBC itself.