>>>>I was looking for something in the object browser and notice following:
>>>>Constant wdAlertsAll = -1
>>>>Hex: -0x00000001, Bin: 11111111
>>>>Member of Word (cached).WdAlertLevel
The part that get me curious is
Hex: -0x00000001
I never encountered negative hex numbers before. Shouldn't it be?
Hex: 0xff
>>>
>>>If it's a DWORD, then it should be 0xFFFFFFFF. The binary representation you show is only a byte. Generally, bytes are unsigned, words and dwords can be signed or unsigned. Why the representation the way it is, I can only guess.
>>
>>My best guess is that the key is defined as a signed 8-bit integer, and when treated as a UCHAR, is represented by the value 0xFF
>
>Yep, I'd guess so. I think, as I mentioned in my other post to Sergey, that VFP interprets hex values as unsigned unless otherwise specified. Thus, -0x00000001 makes some sense.
Actually, VFP has representational problems at and above 0x80000000 - it'll convert it internally to a real, which is why I now recast hex value using BITOR() internally in ClsHeap as of the last released version. You can test this easily enough; try the following:
? 0xFFFFFFFF = -1
? BITOR(0xFFFFFFFF,0) = -1