Re: Newbee Question: How to return an void* in a VARIANT parameter?
Then do as Igor said. Note this is not portable for 64-bit (in case
you care) - you want LONG_PTR for that purpose, which
maps to LONG in 32-bit and __int64 for 64-bit compilation.
Of course the better solution is to wrap all operations associated
with that void pointer and present them as a separate object
which you return to VB6. This object contains the original void
pointer internally and makes all the calls on VB6's behalf. Then
you return IDispatch* of the wrapper object.
--
=====================================
Alexander Nickolov
Microsoft MVP [VC], MCSD
email: agnickolov@mvps.org
MVP VC FAQ: http://vcfaq.mvps.org
=====================================
"Valmir" <vcinquini@gmail.com> wrote in message
news:1176917484.614439.169240@y80g2000hsf.googlegroups.com...
On 18 abr, 14:07, "Igor Tandetnik" <itandet...@mvps.org> wrote:
Valmir <vcinqu...@gmail.com> wrote:
Hi. I was told to develop an activeX to wrapper function calls to an
c+ + dll, in order to make this dll useful to VB 6 applications.
This another dll has some functions that return void* like the
following:
void* OpenConfiguration(const char* tpCtrl, const char* tpPersist,
const char* tpFormat, const char* tpCripto, const char* flags, int*
ret);
How can I convert a void* which is returned by the function to a
VARIANT var that will be the parameter that VB?will pass to my
ActiveX?
Just return it as long. I assume the only way VB program can use this
value is to pass it back to some other method of your component.
--
With best wishes,
Igor Tandetnik
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925
Exactly. This value will be passed back to the activex to call other
methods.
Thanks