ʹÓÃVC±àдVBʹÓÃDLL
ʹÓÃVC±àдVBʹÓÃDLL
Ò»¡¢ÔÚº¯Êý¶¨Òåǰ±ØÐë¼ÓÉÏextern "c"£¬_stdcall¹Ø¼ü×Ö¡£
extern "C" int _stdcall Sum(int x,int y)
{
return x+y;
}
¶þ¡¢DLLµÄ.defÎļþÖбØÐë¼ÓÉÏÈë¿Úº¯Êý
EXPORTS
sample @1
sampleÊÇÄãÒªÔÚVBÖе÷Óõĺ¯ÊýÃû£¬@1±íʾ¸Ãº¯ÊýÔÚDLLÖеıàºÅ
Èý¡¢Òª×¢ÒâDLLÖеĺ¯ÊýºÍVBÖеĺ¯ÊýÉùÃ÷ÔÚÃû³Æ¡¢·µ»ØÀàÐÍ¡¢²ÎÊýÀàÐÍ¡¢²ÎÊý¸öÊýµÈ·½Ãæ±ØÐëÍêÈ«Ïàͬ£¬ÓÈÆäҪעÒâ´óСдµÄÎÊÌâ¡£
×¢ÒâÊÂÏ
1¡¢±ØÐë±£Ö¤VBºÍVCµÄ²ÎÊý¸öÊýÏàͬ£¬²ÎÊýËùÕ¼×Ö½ÚÊýÒ²Ò»ÖÂ
3£®Êý×é²ÎÊýÔÚDLLÖеĴ«µÝ
¡¡¡¡ÓÉÓÚDLL¾³£ÓÃÀ´½øÐÐһЩµ×²ãµÄÔËËã²Ù×÷£¬Òò´ËÓ¦ÓóÌÐò³£ÐèÒª´«µÝ´óÁ¿µÄÊý¾Ý¸øDLL¡£ÔÚC++ÖУ¬Ö¸ÕëÊǽøÐÐÊý×é²Ù×÷µÄ×î¼ÑÑ¡Ôñ£¬µ«VBÖÐûÓÐÖ¸ÕëµÄ¸ÅÄî¡£Õâͨ³£¿ÉÓÃÁ½ÖÖ·½·¨À´½â¾ö¡£
¡¡¡¡ÆäÒ»£¬ÔÚVBÖÐÉùÃ÷DLLʱ£¬ÓÃbyrefÀ´´úÌæbyval£¬¼´¿É½«Êý×éÖ¸Õë´«µÝ¸øDLL¡£
¡¡¡¡ÁíÍ⣬½«Êý×éÉùÃ÷Ϊ±äÌåÐÍ£¨variant£©£¬¼´¿ÉÖ±½Ó½«Êý×é´«µÝ¸øDLL¡£
ËÄ¡¢ÔÚvbÖÐÉùÃ÷£¨"dllTest.dll" ʹÓõÄÊÇÏà¶Ô·¾¶£¬Äã¿ÉÒÔ½«dll.dll·Åµ½.exeËùÔÚµÄĿ¼»òϵͳĿ¼£©£¬º¯ÊýÃû´óСÃô¸Ð
Private Declare Function Sum Lib "dllTest.dll" (ByVal x As Long, ByVal y As Long) As Long
Îå¡¢Àý×Ó
1¡¢Ð½¨Ò»¸öwin32 dynamic library,¿ÕµÄ¹¤³Ì
2¡¢Ð½¨Ò»¸ödllTest.cpp Îļþ,²¢Ìí¼Óµ½¹¤³Ì¡£ÄÚÈÝÈçÏÂ
// dll4.cpp : Defines the entry point for the DLL application.
//
#include "stdafx.h"
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
extern "C" int _stdcall Sum(int x,int y)
{
return x+y;
}
extern "C" int _stdcall GetNum(int Num) /*¾ßÌåʵÏÖ*/
{
return Num;
}
// dll4.cpp : Defines the entry point for the DLL application.
//
#include "stdafx.h"
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
Ïà¹ØÎĵµ£º
×î¼òµ¥ÓÃVB°Ñasp·â×°³ÉdllµÄÈëÃųÌÐò
µ±IIS±»ÇëÇóÖ´ÐÐÒ»¸öASP³ÌÐò,ËüÊ×ÏÈ»áÔÚASPÎļþÖÐÕÒµ½<%%>±êǩ֮¼äµÄ´úÂë,²¢ÇÒÖ´ÐÐËü(Ò²¿ÉÒÔÊÇ<scri ptrunat=server></script....>Ö®¼äµÄ´úÂë).Èç¹ûÕâ¸öASP³ÌÐòÔÚÏÈǰ±»µ÷Óùý,ÄÇôËü¾Í»áÓÃÄÚ´æÖеıàÒë¹ýµÄ³ÌÐòÀ´ÏòÓû§·µ»ØHTML´úÂë,Èç¹ûûÓÐ,ÄÇôËü¾ÍÖØÐ±àÒë.Õ ......
Welcome to Microsoft Developer Support, Languages team blog! You will find a lot of language related troubleshooting resources here.
Troubleshooting PInvoke Related Issues
I am back with some more PInvoke Stuff. Recently I was working on a PInvoke issue which I found interesting ......
¡¾º¯Êý¡¿
GetFileVersionInfo
¡¾²Ù×÷ϵͳ¡¿
Win9X:Yes
WinNT:Yes
¡¾ÉùÃ÷¡¿
GetFileVersionInfo Lib "version.dll" Alias "GetFileVersionInfoA" &n ......
Ò»¡¢ VB¶ÁдEXCEL±í£º
¡¡¡¡VB±¾ÉíÌá×Ô¶¯»¯¹¦ÄÜ¿ÉÒÔ¶ÁдEXCEL±í£¬Æä·½·¨ÈçÏ£º
¡¡¡¡1¡¢ÔÚ¹¤³ÌÖÐÒýÓÃMicrosoft ExcelÀàÐͿ⣺
¡¡¡¡´Ó"¹¤³Ì"²Ëµ¥ÖÐÑ¡Ôñ"ÒýÓÃ"À¸£»Ñ¡ÔñMicrosoft Excel 9.0 Object Library£¨EXCEL2000£©£¬È»ºóÑ¡Ôñ"È·¶¨"¡£±íʾÔÚ¹¤³ÌÖÐÒªÒýÓÃEXCELÀàÐͿ⡣
¡¡¡¡2¡¢ÔÚͨÓöÔÏó ......
'**************************¶ÁͼƬÎļþ**************************************
Sub GetPicfromDB(cn As ADODB.Connection)
On Error Resume Next
Dim ......