On Mon, 04 Jan 2010, WenSheng wrote: Hi,
> I have a function 'AT()' can not be compiler, > I use 'nPos := At( ';', cPrinters, nStart )', > If I have not joined a custom function, I will be unable to successfully > compile the code. > #xtranslate At(<a>,<b>) => hb_At(<a>,<b>) > Who can I ask this grammar by adding "hbcompat.ch" do? hbcompat.ch is a file which try to hide some differences between Harbour and xHarbour using PP rules. If possible I strongly suggest to to migrate to clean Harbour code and not use it. The AT() function in Harbour is fully compatible with Clipper/xBase/ADS/... AT() function. We do not used to modify any existing xBase functions to not create portability problems when standard functions with extended parameters are used in expressions which are shared between different dbase compatible RTLs or when some code has to be compiled by different compilers. This is very important because using standard dBase functions with unportable extended parameters may exploit serious problems in really unexpected places, i.e. when indexes are used by programs compiled by other compilers or by some remote RDDs like ADS. Harbour is strictly compatible with Clipper/dBase so if it's documented that some other language (except xHarbour :() supports the some dbase functions then they should work in the same way and you do not have to check all parameters and worry that index will be corrupted because foreign code wrongly understand local extensions to standard functions. best regards, Przemek _______________________________________________ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour