Sergey's blog

VFP OLE DB provider

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.

Retrieve HTML from Clipboard



lcHtml = HtmlFromClipboard()
	lnStartHTML = VAL(STREXTRACT(lcHtml, "StartHTML:", ""))
	lnEndHTML = VAL(STREXTRACT(lcHtml, "EndHTML:", ""))
	* If StartFragment is present, retrieve HTML fragment
	IF ("StartFragment" $ lcHtml)

Appropriate license for this class not found error at runtime

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.

Retrieving Windows TaskBar Size and Location

A location and size of the Windows Taskbar can be retrieved with SHAppBarMessage Function.

Is variable or property an array?

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

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.

How to change file attributes programmatically

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.

Preventing BackSpace key in a TextBox from moving a cursor to the previous control

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.

Check if table is part of DBC

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.


Subscribe to RSS - Sergey's blog