Page 1 of 1

ADS (Advantage Database Server) 8 and FWH (Microsoft)

PostPosted: Wed Jan 18, 2006 11:37 am
by modicr
Hello!

I want to use ADS 8 with my FWH application. According to
the documentation at http://www.fivetechsoft.com/english/fwh.html

The link where you can find all the needed DLLs is on Advantage web site , developers resources section. Once there, you will need to register yourself, then you will have access to the Advantage Solutions web site. Then go the download area and select the 5.7/2.7 release section and click to download the file arc.exe. This software includes all the needed libraries which are:

ACE23.DLL: The 32-bit Advantage Client Engine.
AXCWS32.DLL: The Advantage 32-bit communication layer for client/server access.
ADSLOC32.DLL: The 32-bit Advantage Local Server.
EXTEND.CHR: OEM collation sequences. This file is needed if OEM character sets are to be used with Advantage Local Server.
ANSI.CHR: ANSI collation sequences. This file may be needed if ANSI character sets are to be used with Advantage Local Server.
ADSLOCAL.CFG: The configuration file for Local Server.
All these files should be placed on the \WINDOWS\SYSTEM directory. In case you have a Advantage Database server then you will only need ACE32.DLL and AXCWS32.DLL

To use the Advantage RDD from your Harbour applications you just need to do the following:

Make a reference to file 'ADS.CH' on your PRG files when needed
Include in the link file the libraries rddads.lib and ace32.lib that came with fw for Harbour package
Request the Advantage RDD at the beginning of your application


I need rddads.lib & ace32.lib, but there is only rddads.lib in my Harbour(MS) folder.
I found ace32.lib in aceapi.exe at http://devzone.advantagedatabase.com/
Is it ok to use that file?

Regards, Roman

PostPosted: Wed Jan 18, 2006 2:41 pm
by Antonio Linares
Roman,

ace32.lib is just an import library (it has no code) and should be created from the ace32.dll version that you are using.

To generate such ace32.lib file you may do:

impdef.exe ace32.def ace32.dll

lib.exe /def:ace32.def /out:ace32.lib

PostPosted: Wed Jan 18, 2006 4:52 pm
by Rick Lipkin
Antonio

I think Roman is looking for the Microsoft MSVC lib to dll conversion .. and I don't think there is one.. your solution is from the Borland compiler and will not work if Roman is compiling with MSVC ????

Rick Lipkin

PostPosted: Wed Jan 18, 2006 4:54 pm
by modicr
Hello!

I generated ace32.lib according to your instructions,
but it does not work. When I link resulting library
with my app, I receive more than 100 unresolved externals
like:
rddads.lib(adsfunc.obj) : error LNK2019: unresolved external symbol _AdsRollbackTransaction@4 referenced in function "void __cdecl HB_FUN_ADSROLLBACK(void)" (?HB_FUN_ADSROLLBACK@@YAXXZ)


Library ace32.lib, which I found in aceapi.exe, works OK.

Regards, ROman

PostPosted: Wed Jan 18, 2006 7:54 pm
by Antonio Linares
Roman,

have you used Microsoft LIB.exe or Borland TLib.exe ?

> Library ace32.lib, which I found in aceapi.exe, works OK

good! :)

PostPosted: Wed Jan 18, 2006 9:15 pm
by modicr
Hello!

I used MS LIB - how can I use Borland TLIB?

Roman

PostPosted: Tue Jan 24, 2006 10:32 am
by modicr
(message deleted)

PostPosted: Tue Jan 24, 2006 10:32 am
by modicr
Hello!

I noticed that Advantage uses its own Upper()/Lower() implementation
(Advantage Expression Engine), which is different than Harbour's.

Advantage takes into account 'Windows Locale" setting
http://www.cryer.co.uk/brian/windows/in ... _table.htm
while Harbour behaves like old 16-bit Clipper. Is it possible to
change behaviour of Upper/Lower in Harbour (something like SET
CODEPAGE TO WIN1250, for example)?

Roman