Hi All,

To give a little push to Harbour from current state (where it seems
a little stuck), I'd like to start making some moves towards type
cleanup. Currently this causes problems only with hbfimage, but IMO
this step is required to allow maximum portability and connectability
with any possible 3rd party libs.

The goal is to keep it safe and compatible. So, I'd like to make
equivalent changes only and retaining old type by default.

In this first pass I plan to do these type changes:

TRUE      -> hbTrue
FALSE     -> hbFalse
BOOL      -> hbBool
BYTE      -> hbByte
ULONG     -> hbULong
LONG      -> hbLong
UINT      -> hbUInt
SHORT     -> hbShort
USHORT    -> hbUShort
LONGLONG  -> hbLongLong
ULONGLONG -> hbULongLong
INT16     -> hbI16
UINT16    -> hbU16
INT32     -> hbI32
UINT32    -> hbU32
INT64     -> hbI64
UINT64    -> hbU64
SCHAR     -> hbSChar
UCHAR     -> hbUChar

Only those places will require extra attention where these
types are used in Win API contexts (gtwvg for the most part).

In first round old types will remain and they a new macro
will be introduced to disable them explicitly. This is to
not break 3rd party Harbour code. Probably protected by
HB_LEGACY_LEVEL3 (or 2). While this compatibility period
lasts, the old types will have to be disabled explicitly
for all code where collisions are experienced, f.e. hbfimage.

[ as next step we can continue cleaning up effective type
usage by switching to abstract types or base types where
needed, but that's another matter. ]

Please comment on this.

Brgds,
Viktor

_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to