ÎÒÏëʵÏÖÕâÑùÒ»¸öЧ¹û£º
ÎÒÓÃVC±àдÁ˸öDLL £¬VB µ÷ÓÃÀïÃæµÄÒ»¸öº¯Êý£¬·µ»Ø¸øVBÒ»¸ö×Ö·û´®£¬
ĿǰҪ²»¾ÍÊÇÂÒÂ룬Ҫ²»¾ÍÊDZÀÀ££¡ÎÒ²éÁËÍøÉϺܶà×ÊÁÏ£¬¶¼Ã»Óгɹ¦ £¡
Çë´óϺÃÇ99999ÎÒ°¡ £¡
Àý×ÓÈçÏ£º
VC£º
SQLCE3_DRIVER_API BSTR TestString(LPCTSTR InStr)
{
CString Buf;
Buf = "²âÊÔÓÃÀý";
return Buf.AllocSysString();
}
VB:
Private Declare Function TestString Lib "Sqlce3_Driver.dll" Alias "?TestString@@YAPA_WPB_W@Z" (ByVal strS As String) As String
Dim a As String
a = TestString("Õâ¸ö²ÎÊýûÓÐÒâÒå")
ÊäÈëÒ»¸öÒѾ³õʼ»¯ºÃµÄ×Ö·û´®»º³åÇøµØÖ·,¼°Æä³¤¶È.
È»ºóDLLÀïÏòÄǸö»º³åÇøÐ´ÈëÄÚÈÝ,²¢·µ»ØÊµ¼ÊдÈëµÄ³¤¶È.
²Î¿¼GetComputerNameµÄÓ÷¨.
Äܲ»ÄܰïÎÒд¸öÀý×ÓÄØ £¬ÎÒºÜÉÙÓÃVB¡£Ð»Ð»ÁË ~
SQLCE3_DRIVER_API ÊÇʲô?VCÎÒ²»Êì.
µ«Ò»°ãÊÇÉùÃ÷ΪWINAPI,VBÖ»Ö§³ÖstdCall.
°ÑÀý×ÓÀïµÄBufÄÚÈݸ´ÖƵ½ÊäÈëµÄInStrÖ¸ÕëÀï.
ÔÙ¼Ó¸ö²ÎÊý,´óÔ¼ÈçÏÂ:
C/C++ code:
WINAPI INT TestString(LPCTSTR InStr,int StrLength)
{
CString Buf;
Buf = "²âÊÔÓÃÀý";
memcpy instr,&buf,sizeof(buf); 'ÕâÀïÒª¸´ÖÆ,Óï·¨²»ÖªµÀ¶Ô²»¶Ô
return sizeof(buf);
}
VB˕̾:
vbÖÐ ÏÖÔÚÎÒÒª°ÑÊý¾Ý¿âÀï´æ´¢µÄÒ»¸ö¸½¼þµÄÄÚÈÝÌæ»»ÁË£¬Ôõô×ö£¬Ö»ÊÇÌæ»»ÎÒÖ¸¶¨µÄλÖ㬲»ÊÇÈ«²¿Ìæ»»
Ç뽫ÎÊÌâ˵Ã÷°×£¬´æ´¢×ֶθñʽ£¬Èç¹ûÊÇBinary¸ñʽµÄ±È½ÏÂé·³£¬Èç¹ûÊÇ×Ö´®£¬Ö±½ÓÌæ»»¡£×îºÃ²»Òª½øÐÐÖ¸¶¨Î»ÖÃÌæ»»¡ ......