Hi Przemek,
On 2008.02.15., at 21:42, Przemyslaw Czerpak wrote:
On Fri, 15 Feb 2008, Szakáts Viktor wrote:
ace.h in SVN wouldn't solve the problem. Let's see one example:
AdsGetNumActiveLinks() ADS C API (called from
ADSGETNUMACTIVELINKS()),
is not present in 6.11 (pbly 6.22 too) ace.h,
So this code should be updated:
#if ADS_REQUIRE_VERSION >= 6
HB_FUNC( ADSGETNUMACTIVELINKS ) // requires 6.2 ! Only valid
for a DataDict
{
...
And we have to intorduce minor number checking.
Agreed.
so even if someone is
using a hacked, or freshest ace.h, this ADS API will only be
available
when using the latest ace32.dll, but not when using the 6.22
ace32.dll.
So we would just be swapping a compile error to a link error.
By default our code is compiled with:
#define ADS_REQUIRE_VERSION 5
AFAIR to our old ace.h were added some undocumented functions and
maybe it's the reason why it does not work now.
Can be, but if we declare undocumented ones, we need to
take care of including them only for relevant versions, and
all those declarations should be made in local headers
(maybe even in something like adsundoc.h).
IMO the proper solution is to detect (or get from envvar) installed
ADS package version and compile only those parts of the contrib,
which can actually be used with that version of ADS.
I'm not ADS user and the solution I'm leaving to people interested
in this library who knows all original ace.h versions with
undocumented
but accessible tricks and can make proper updates.
I have all the files available from ADS homepage, but
due to lack of time (and intimate ADS knowledge), I cannot
do such an investigation.
I can send the files to anyone interested though.
(version 6.11, 7.00, 7.10, 8.00, 8.10)
BTW AFAIR it should be possible to use newer client for older server
versions.
That's how I know too, but there could be many reasons
for sticking with a known version of a client, at least
generally speaking (even if cross compatibility is solved).
So it's better to not "force" everyone to use the latest,
if possible.
Brgds,
Viktor
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour