VB»Øµ÷º¯Êý³ö´í£¬ÄÚ´æ²»ÄÜΪд
ÔÚVCÖлص÷º¯ÊýΪ£º
C/C++ code:
typedef VOID (__stdcall *DL_AUTOCALLBACK )( DWORD dw1, DWORD dw2, LPVOID lpContext );
int Set( IN HANDLE hCamera, IN BOOL bAE,
IN BYTE btTarget, IN DL_AUTOCALLBACK pfCallback, IN LPVOID lpContext );
VbÖÐÎÒÉùÃ÷Ϊ£º
VB code:
Public Declare Function Set _'ÉùÃ÷
Lib "XX.dll" (ByVal hCamera As Long, ByVal bAE As Boolean, ByVal btTarget As Byte, _
ByVal pfCallback As Long, ByVal lpContext As Long) As Integer
Public Function AECallback(ByVal dw1 As Long,ByVal dw2 As Long, ByRef lpContext As Long)'Ò»µ½Õâ¾Í»á³ö´í
Dim val As Integer
¡¡¡¡
AECallback = 0
End Function
Set m_hDevice, True, 180, AddressOf XX.AECallback, MainForm.hWnd'ÕâÊÇÎҵĵ÷ÓÃ
ÏÔʾÄÚ´æ²»ÄÜΪ¶Á£¡
²»ÖªµÀÕâÊǸöʲôÎÊÌ⣬ÊDzÎÊý¶ÔÓ¦µÄÎÊÌâÂð£¿
DWORD Ϊunsigned longÀàÐÍ
LPVOID Ϊvoid*
Ôõô»ØÊÂÄØ£¿ÓÐ˸ø¸ö´ð°¸£¡
×îºóÒ»¾ä¸ÄΪ£ºSet m_hDevice, True, 180, byval AddressOf XX.AECallback, MainForm.hWnd
ÊÔÒ»ÊÔ
ÄãÒª¸ø³öC++µÄÔÐÍ¡£
»¹ÓУ¬±ØÐëÔÚ±ê׼ģ¿éÀïÃæд»Øµ÷µÄ´úÂë¡£
set Êǹؼü×Ö£¬»»Ò»¸öÃû×Ö¡£Ê¹Óà alieas ¹Ø¼ü×Ö¡£
Public Function AECallback(ByVal dw1 As Long,ByVal dw2 As Long, ByRef lpContext As Long) <
Ïà¹ØÎÊ´ð£º
ΪʲôCдµÄDLLÎļþC¡¢PBÄܵ÷ÓÃVB²»Äܵ÷Óã¿
VBÀïΪʲôÓеÄDLLÖ±½Óͨ¹ýÒýÓÿÉÒÔʹÓã¿ÓеÄÐèҪͨ¹ýdeclareÉêÃ÷Íⲿº¯Êý£¿ÕâЩDLLÓÐʲô²î±ð£¿
1¡¢ÎªÊ²Ã´PBÄÜͨ¹ýDECLAREÉùÃ÷¶øVB²»ÐУ¿
2¡¢Èç¹ûÕâ¸ödllÖÐµÄ ......
ÎÒÓÃDelphiдÁËÒ»¸öDLL, DLLÀïÓÐMDIµÄ×Ó´°Ìå,DLL³õʼ»¯Ê± ´«µÝµ÷ÓÃÕßµÄTApplication¸øDLL, ÔÚDelphi7Öе÷ÓÃÒѾͨ¹ý,µ«ÊDz»ÖªµÀÔÚVBÖÐÓÐÎÞTApplication¶ÔÓ¦ÀàÐÍ, ÊÇ·ñÄÜÔÚVBÖе÷ÓÃ?
ÄãºÃ£¬ÓÃinstance²»ÊǾͿÉÒÔÁË ......
±ÈÈç½ø³Ì¼ÓÔØеijÌÐò¡£
ÔÚÆäÔËÐÐ֮ǰ×èÖ¹¡£
È»ºóÔÊÐíºó·ÅÐС£
±ÈÈç³ÌÐòÖ÷Îļþ·¾¶ÊÇc:\test\test.exe£¬½¨Á¢ÄÚÈÝÈÎÒâµÄÎļþc:\test\test.exe.manifest¡£
¾ÍÊDz»ÖªµÀ³ÌÐòÎļþ·¾¶¡£
ÉèÖ ......
ÏëÔÚwarcraft3Àï½øÐÐдÆÁ²Ù×÷¡¾Èç¶Ôսƽ̨ÖеÄʤ¸ºÌáʾÐÅÏ¢¡¿£¬Ð§¹û¾ÍÏñÓÎϷƽ̨ÖÐÒ»Ñù£¬ÎÒÊÔ¹ýÔÚÒ»´°¿ÚÖÐдÈëÎÄ×Ö£¬È»ºóÒ»Ö±Èô°¿ÚÇ¿ÖÆ×îÇ°£¬ËäÈ»ÄÜʵÏÖÎÄ×ÖÏÔʾ£¬µ«ÊÇÎÄ×ֻ᲻¶ÏÉÁ˸£¬¶øÇÒÓв»È·¶¨BUG£¬Í¨¹ýÂÛ̳ËÑ ......
¸÷λ´óϺ£º
ÎÒÓÐÒ»¸öVBµ÷ÓÃË®¾§±¨±íµÄϵͳ£¬±¨±íÊÇ×÷Ϊһ¸öDesignǶÔÚVBÀïµÄ£¬½ñÌì·¢ÏÖ´òÓ¡µÚÒ»Õű¨±íÕý³££¬Í¬ÑùµÄÊý¾Ý£¬ÔÚµã´òÓ¡ÔÙµ÷ÓÃÒ»´Î¾Í»á±¨ Memory FullµÄ´íÎ󣬵«ÊÇ ......