On Sun, 15 Nov 2009, vszak...@users.sourceforge.net wrote:

Hi,

>   * include/hbdefs.h
>     - Deleted HB_ERRCODE. It already existed as HB_ERRCODE, 
>       mainly used in RDD. That makes this change a bit more 
>       complicated than I thought. Plus two more issues:
>       1) Some places use ULONG already to pass error code, 
>          changing these to HB_ERRCODE will instantly break 
>          binary compatibility.
>       2) I wonder if DOSERROR() and friends will stay compatible 
>          after moving to ULONG HB_ERRCODE.
>     ; Please comment.

I've wrote in previous message that HB_ERRCODE is already existing type.
ULONG used in hb_errRT*() functions can be replaced by HB_ERRCODE without
any problem because all such ULONG values are simply casted to USHORT in
current code. This modification finally breaks binary compatibility,
HB_ERRCODE is a value returned by each RDD method and most of public
GT functions so we can join it with other modifications introduced recently
which also broke binary compatibility.

I do not understand why you are asking for DOSERROR() function. For sure
when we increase the range of error codes then it stops to be exactly
Clipper compatible but we can say the same about error codes in error
object and at the beginning of this discussion we decided to change it
and drop strict Clipper compatibility. Anyhow DOSERROR() is a little bit
specific and it should be declared internally as 'int' (current SHORT
definition is wrong) because it should allow to return any value just
like main() or WinMain() function.

best regards,
Przemek
_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to