I want to test ZeosLib for usage with ODBC - so I checked out the master version with GIT and tried to compile it for my (very old) Delphi 7 Enterprise.
But the compilation failed - regardless what I do.
First I tried to compile it without any changes to Zeos.inc
ZCore did compile,
ZDbc complains:
Code: Select all
[Error] ZDbcLogging.pas(79): Undeclared identifier: 'SQLString'
[Error] ZDbcIntfs.pas(112): Undeclared identifier: 'TZClientFormatSettings'
[Error] ZDbcIntfs.pas(754): Undeclared identifier: 'UnicodeString'
[Error] ZDbcIntfs.pas(1433): Undeclared identifier: 'IZIdentifierConverter'
[Error] ZDbcIntfs.pas(2215): Undeclared identifier: 'TZDate'
[Error] ZDbcIntfs.pas(2232): Undeclared identifier: 'TZTime'
[Error] ZDbcIntfs.pas(2249): Undeclared identifier: 'TZTimeStamp'
[Fatal Error] ZDbcIntfs.pas(4473): Could not compile used unit '..\..\src\dbc\ZDbcProperties.pas'
Code: Select all
[Error] ZGenericSqlToken.pas(72): Declaration of 'NextToken' differs from previous declaration
[Error] ZGenericSqlToken.pas(97): Declaration of 'NextToken' differs from previous declaration
[Error] ZGenericSqlToken.pas(108): Declaration of 'NextToken' differs from previous declaration
[Error] ZGenericSqlToken.pas(111): Method 'DecodeToken' not found in base class
[Error] ZGenericSqlToken.pas(125): Declaration of 'NextToken' differs from previous declaration
[Error] ZGenericSqlToken.pas(128): Method 'DecodeToken' not found in base class
[Error] ZGenericSqlToken.pas(136): Declaration of 'NextToken' differs from previous declaration
[Error] ZGenericSqlToken.pas(158): Undeclared identifier: 'ReadDecDigits'
[Error] ZGenericSqlToken.pas(170): Undeclared identifier: 'P'
[Error] ZGenericSqlToken.pas(175): Undeclared identifier: 'ReadDecDigits'
[Error] ZGenericSqlToken.pas(198): Undeclared identifier: 'P'
[Error] ZGenericSqlToken.pas(198): Operator not applicable to this operand type
[Error] ZGenericSqlToken.pas(199): Operator not applicable to this operand type
[Error] ZGenericSqlToken.pas(202): Undeclared identifier: 'ReadHexDigits'
[Error] ZGenericSqlToken.pas(208): Undeclared identifier: 'P'
[Error] ZGenericSqlToken.pas(210): Incompatible types: 'TStream' and 'PAnsiChar'
[Error] ZGenericSqlToken.pas(212): Undeclared identifier: 'L'
[Error] ZGenericSqlToken.pas(212): Undeclared identifier: 'P'
[Error] ZGenericSqlToken.pas(284): Incompatible types: 'TStream' and 'PAnsiChar'
[Error] ZGenericSqlToken.pas(286): Undeclared identifier: 'L'
[Error] ZGenericSqlToken.pas(287): Undeclared identifier: 'P'
[Error] ZGenericSqlToken.pas(287): Undeclared identifier: 'L'
[Error] ZGenericSqlToken.pas(302): Undeclared identifier: 'P'
[Error] ZGenericSqlToken.pas(313): Undeclared identifier: 'P'
[Error] ZGenericSqlToken.pas(313): Undeclared identifier: 'P'
[Error] ZGenericSqlToken.pas(323): Undeclared identifier: 'P'
[Error] ZGenericSqlToken.pas(324): Operator not applicable to this operand type
[Error] ZGenericSqlToken.pas(331): Undeclared identifier: 'L'
[Error] ZGenericSqlToken.pas(331): Undeclared identifier: 'P'
[Error] ZGenericSqlToken.pas(336): Undeclared identifier: 'P'
[Error] ZGenericSqlToken.pas(345): Undeclared identifier: 'P'
[Error] ZGenericSqlToken.pas(354): Undeclared identifier: 'P'
[Error] ZGenericSqlToken.pas(370): Undeclared identifier: 'L'
[Error] ZGenericSqlToken.pas(371): Undeclared identifier: 'P'
[Error] ZGenericSqlToken.pas(371): Operator not applicable to this operand type
[Error] ZGenericSqlToken.pas(371): Undeclared identifier: 'P'
[Error] ZGenericSqlToken.pas(371): Pointer type required
[Error] ZGenericSqlToken.pas(371): Type of expression must be BOOLEAN
[Error] ZGenericSqlToken.pas(372): Undeclared identifier: 'L'
[Warning] ZGenericSqlToken.pas(373): Comparing signed and unsigned types - widened both operands
[Error] ZGenericSqlToken.pas(373): Undeclared identifier: 'P'
[Error] ZGenericSqlToken.pas(373): There is no overloaded version of 'SQLDequotedStr' that can be called with these arguments
[Error] ZGenericSqlToken.pas(375): Undeclared identifier: 'P'
Code: Select all
[Error] ZPlainDbLibDriver.pas(1151): Undeclared identifier: 'TZCustomElementList'
[Error] ZPlainDbLibDriver.pas(1151): Class type required
[Error] ZPlainDbLibDriver.pas(1160): Method 'Notify' not found in base class
[Error] ZPlainDbLibDriver.pas(1165): Class type required
[Error] ZPlainDbLibDriver.pas(1174): Method 'Notify' not found in base class
[Error] ZPlainDbLibDriver.pas(1778): Undeclared identifier: 'Add'
[Error] ZPlainDbLibDriver.pas(1803): Undeclared identifier: 'Add'
[Error] ZPlainDbLibDriver.pas(1830): Undeclared identifier: 'Add'
[Error] ZPlainDbLibDriver.pas(1854): Undeclared identifier: 'Add'
[Error] ZPlainDbLibDriver.pas(1881): Undeclared identifier: 'Add'
[Error] ZPlainDbLibDriver.pas(1905): Undeclared identifier: 'Add'
[Error] ZPlainDbLibDriver.pas(1962): Undeclared identifier: 'Count'
[Error] ZPlainDbLibDriver.pas(1963): Class does not have a default property
[Error] ZPlainDbLibDriver.pas(1964): Undeclared identifier: 'Add'
[Error] ZPlainDbLibDriver.pas(1965): Class does not have a default property
[Error] ZPlainDbLibDriver.pas(1968): Undeclared identifier: 'Delete'
[Error] ZPlainDbLibDriver.pas(1970): Undeclared identifier: 'Count'
[Error] ZPlainDbLibDriver.pas(1971): Class does not have a default property
[Error] ZPlainDbLibDriver.pas(1972): Undeclared identifier: 'Add'
[Error] ZPlainDbLibDriver.pas(1973): Class does not have a default property
[Error] ZPlainDbLibDriver.pas(1976): Undeclared identifier: 'Delete'
[Error] ZPlainDbLibDriver.pas(3418): Too many actual parameters
[Error] ZPlainDbLibDriver.pas(3418): Too many actual parameters
[Error] ZPlainDbLibDriver.pas(3433): Too many actual parameters
[Error] ZPlainDbLibDriver.pas(3433): Too many actual parameters
[Fatal Error] ZPlain.dpk(51): Could not compile used unit '..\..\src\plain\ZPlainDbLibDriver.pas'
Code: Select all
[Fatal Error] ZPropertyEditor.pas(239): File not found: 'ZDbcODBCUtils.dcu'
Then I tried to only compile what I need and changed src/Zeos.inc:
Code: Select all
// Uncomment these defines to disable some DB drivers (reduce binary size)
{$DEFINE ZEOS_DISABLE_MYSQL}
{$DEFINE ZEOS_DISABLE_POSTGRESQL}
{.$DEFINE ZEOS_DISABLE_DBLIB}
{$DEFINE ZEOS_DISABLE_ADO}
{$DEFINE ZEOS_DISABLE_INTERBASE}
{$DEFINE ZEOS_DISABLE_FIREBIRD}
{$DEFINE ZEOS_DISABLE_SQLITE}
{$DEFINE ZEOS_DISABLE_ORACLE}
{$DEFINE ZEOS_DISABLE_ASA}
{$DEFINE ZEOS_DISABLE_SQLANY}
{$DEFINE ZEOS_DISABLE_POOLED}
{$DEFINE ZEOS_DISABLE_OLEDB}
{.$DEFINE ZEOS_DISABLE_ODBC}
{$DEFINE ZEOS_DISABLE_PROXY}