warning compiling ADOX objects whit import directive VC++

warning compiling ADOX objects whit import directive VC++

Post by Migue » Thu, 20 Apr 2000 04:00:00



Whats the meaning of the next warning compliling with VC*++ 6.0:

/*
Compiling...
adoconec.cpp
c:\adoconec\debug\msadox.tlh(1159) : warning C4146: unary minus operator
applied to unsigned type, result still unsigned

adoconec.obj - 0 error(s), 1 warning(s)
*/

adoconec.cpp:
#include "adoconec.h"
#import "C:\Archivos de programa\Archivos comunes\SYSTEM\ADO\msado15.dll"
#import "C:\Archivos de programa\Archivos comunes\SYSTEM\ADO\msadox.dll"
no_namespace rename("EOF", EndOfFile")

 
 
 

warning compiling ADOX objects whit import directive VC++

Post by Brian Oraa » Wed, 26 Apr 2000 04:00:00


Well, checking the header reveals the literal meaning of the error - for
some reason the enum for RightsEnum contains a negative number, and for
whatever reason, the compiler is using unsigned ints for the enums.

Here's my solution:

#pragma warning(push)
#pragma warning(disable: 4146)
#import "c:\program files\common files\system\ado\msadox.dll"
#pragma warning(pop)

Elegant, eh?

Perhaps there's a better solution. A way to specify signed ints instead of
unsigned ints for the enums, perhaps?

As long as you're not using RightsEnum, this'll get ya going...

Brian Oraas
Albacore Research, Ltd.


> Whats the meaning of the next warning compliling with VC*++ 6.0:

> /*
> Compiling...
> adoconec.cpp
> c:\adoconec\debug\msadox.tlh(1159) : warning C4146: unary minus operator
> applied to unsigned type, result still unsigned

> adoconec.obj - 0 error(s), 1 warning(s)
> */

> adoconec.cpp:
> #include "adoconec.h"
> #import "C:\Archivos de programa\Archivos comunes\SYSTEM\ADO\msado15.dll"
> #import "C:\Archivos de programa\Archivos comunes\SYSTEM\ADO\msadox.dll"
> no_namespace rename("EOF", EndOfFile")