AnsweredAssumed Answered

vrf Passing char *value to a DLL

Question asked by VRFuser on May 1, 2002
Hi Phil.


>DLLEXPORT int bfEncrypt(char *Data, const int DataLength, char *Key, int
>KeySize)

Ok, no prob there.

>From VEE I pass some simple text to *Data (i.e. "Phil") and no problem. 
>However, VEE complains about the size 16 text array that I attemt to pass
>to *Key.  The exact response from VEE is:

Ahhh.. size 16 text *array*. There's the problem. A text scalar is a C type
char *, but a text array is C type char **. IOW in C you get a pointer to an
array of pointers to your strings.

Change the def to: ... char **Key, int KeySize)

and iterate the array in C like so:

int  i;
char *pString;

for(i = 0; i < KeySize; i++) {
  pString = Key[i];
  /* pString is now a pointer to the ith string passed from VEE */
}

-SHAWN-



_________________________________________________________________
Send and receive Hotmail on your mobile device: http://mobile.msn.com

---------------------------------------------------------------------
This is the "vrf" maillist, managed by Majordomo.  To send messages to
this maillist, just email to "vrf@lvld.agilent.com".  Subscriptions and
unsubscriptions are done through the address "vrf-request@lvld.agilent.com".
If you need details, just send a message containing the text "help"
to "vrf-request@lvld.agilent.com".
---------------------------------------------------------------------

Outcomes