The available help is pretty good, but it is not integrated into the Delphi help. Just open KADAO.HLP. Basic instructions are described via
Contents / Tips and tricks / How to make an simple application using KADao as a Table component?
Installation
Open KADao.dpk in Delphi and click install.There are a few things that must be done different depending on the Delphi version. (For instance, Delphi 6 uses a different *.dpk file than Delphi 3-5).
On my systems, installing KADao.dpk compiles the source files, creates
*.dcu files in the same directory as KADao.dpk,
and places the components on the
[Fatal Error] Project2.dpr(6): File not found: 'KDaoTable.dcu'This is fixed by adding the directory to
Tools / Environment Options... / Library / Library path
License Issue
... EOleSysError ... 'Class is not licensed for use.' Process stopped.
This error can be turned off by adding EOleSysError (just select Add... and paste the string) to
Tools / Debugger Options... / Language Exceptions
Basically, KADao checks for one of 2 valid MS Access database drivers. If the first option is not found, then it checks the second. On the failing system, there are 2 registry entries
HKEY_CLASSES_ROOT\DAO.DBEngine.35 HKEY_CLASSES_ROOT\DAO.DBEngine.36The first one does not have a valid license, but the second one does. The systems that don't have problems have only one registry entry.
cgi Issue
This code
UserDataModule := TUserDataModule.create(self); Global_String := UserDataModule.KADaoDatabase1.Database;indicates that the default value of Database
G:\NIST\Main Database\Jet databases\General.mdbwas replaced with
c:\inetpub\wwwroot\rlc\General.mdb
This occurs because KDaoDataBase.pas checks the existence of the file via FileExists (in Sysutils) which eventually calls the Windows SDK function FindFirstFile ... apparently it gives an incorrect response when IIS has control. (Perhaps it is part of the "sandbox" ... but it is probably a design problem.)
Testing indicates that FileExists in a cgi file works for any file on the local machine, but not for files on another machine (it does not matter if they are mapped via a drive letter or accessed directly). It also does not work with a USB drive on the same machine (tested with Windows 2000 and Windows XP).
Author: Robert Clemenzi - clemenzi@cpcug.org