FaxMan SDK Version 4.7
Converting Applications from Previous Versions of FaxMan

Upgrading To Version 4.30+ from prior Version 4 releases


Due to changes to support Microsoft Vista the internal communication mechanism of FaxMan changed n V 4.30. As a result when updating your applications to V 4.30 or greater you must be sure to delete old components and also old instances of printer drivers and then install the newer V 4.3+ printer drivers. Failure to update the printer drivers will result in no printer events in the client FaxMan applications.

The FaxMan component interfaces remain the same,  it's just the internal communication method thats changed.


Upgrading from Version 3

FaxMan Version 4 has several major architectural changes from the Version 3 toolkit which will require changes to existing applications. Among these changes are:


New database technology

FaxMan now utilizes a SQL based database engine which provides better performance and simplifies querying the FaxMan log database. Applications that utilize the FaxLogQuery DLL call or the ActiveX LogQuery property will need to update their queries using the new SQL syntax.


New Printer Driver Model

The new FaxMan printer drivers incorporate several enhancements which will require changes to existing applications. The new version of the printer driver no longer uses the AppID property to  associate an application with a printer driver instead the printer driver name is used.  The ActiveX/.Net control PrinterName property must match the name of the associated printer.  If it does not match the actual Printer Name your application will not get print events.  If you install the printer from your application using the InstallPrinter Method then either the default PrinterName or one you specify will work.  

Instead of requiring applications to name the print file using the PrintStart event, the new printer drivers automatically create fax files in a specified directory and then fire a PrintComplete event when printing has completed. The print job details are added to a collection of print job details in the ActiveX/.Net Printer components.


A new feature in the Printer controls is the ability to detect if the associated Printer Driver is installed using the IsPrinterInstalled property and to initiate installation via the InstallPrinter method. To install the printer the application must be running under a windows user account that has printer installation permissions.


The printer drivers can still be installed from the commandline using the new faxinstall batch file which requires the fmprint4.ocx file to be installed in the same same directory as the faxinstall.bat file.



New .Net controls

FaxMan now includes 2 native .net components for interacting with the FaxMan engine and printer drivers. The .Net controls simplify developing .Net applications and do not require registration as do the ActiveX controls.


Support for Terminal Services

The FaxMan engine, printer drivers and interfaces now transparently support Terminal Service configurations. In this scenario the FaxMan engine should be run as a service allowing it to be accessed by all terminal services users. Print job notifications are automatically routed to the proper client.


Support for running as a Windows Service

The FaxMan engine can be installed to run as a Windows service under Windows XP, Windows 2000 and Windows 2003 allowing it to be started without any logged on user. Installation is accomplished by running the faxman4.exe executable with the -install command line parameter to install FaxMan as a service. This can be done as part of your install after the faxman4.exe file has been copied to the destination directory. To remove FaxMan as a service run the faxman4.exe with the -remove command line parameter.


Change to Applications using the DLL Interface

The 1st parameter of the FaxRegisterApp function is now the name of the associated Printer Driver or NULL if the application doesnt wish to capture print events.

The WM_FAXMSG/FASXGETFILENAME message is no longer fired as the drivers now create a file automatically in the specified directory.

The PRINTSTAT structure now contains the Document Name and filename of the created fax file.

New error reporting functions include FaxGetErrorString and FaxGetErrorStringBuf.

Function return values have been made more consistent and more specific. See the new Return values/Error Defines topic.


ActiveX Changes 

The AppID property has been removed from the Fax and Printer controls. Applications should use the Printer control PrinterName property instead.

The PrintStart and PrintComplete events have been removed from the FaxControl all Printer events are now handled only through the Printer Control.

The PrintStart event has been removed. Applications now use the PrintComplete event to get notifications about print jobs.

The query language specified in the LogQuery property will need to be changed to the SQL syntax used by the new FaxMan database engine.


Query Language issues

The new FaxMan database query language is based on SQL-92 and should be familiar to users of MS Access or MS SQL Server. See the  Log Query Syntax topic for details.



© 2013 Data Techniques, Inc. All Rights Reserved.

Send comments on this topic.