ÔÚVBµÄÀàÄ£¿éÖÐʹÓö¨Ê±Æ÷
³¤¾ÃÒÔÀ´£¬ÓÉÓÚ²»ÄÜÖ±½Ó»ñµÃVBÀà³ÉÔ±º¯ÊýÖ¸Õ룬ÒòΪÎÞ·¨ÔÚVBµÄÀàÄ£¿éÖÐÖ±½ÓʹÓö¨Ê±Æ÷¿Ø¼þ»ò¶¨Ê±Æ÷API£¬»ùÓÚ°³±àдµÄ»ñµÃÀà³ÉÔ±º¯ÊýÖ¸ÕëµÄº¯Êý£¬°³±àдÁËÕâ¸ö´ø¶¨Ê±Æ÷¹¦ÄܵÄÀ࣬ϣÍû¸øÅóÓÑÃÇһЩÆô·¢¡£
Ò»¡¢Ð½¨Ò»¸öÀ࣬ÀàÃû³ÆÎªclsTimer£¬Àà´úÂëÈçÏ£º
Option Explicit
'* ******************************************** *
'* Ä£¿éÃû³Æ£ºclsTimer.cls
'* ¹¦ÄÜ£ºÔÚVBÀàÄ£¿éÖÐʹÓüÆÊ±Æ÷
'* ×÷Õߣºlyserver
'* ******************************************** *
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, _
Source As Any, ByVal Length As Long)
Private Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, _
ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Dim m_idTimer As Long
Dim m_Enabled As Boolean
Dim m_Interval As Long
Dim m_lTimerProc As Long
Private Sub Class_Initialize()
m_Interval = 0
m_lTimerProc = GetClassProcAddr(8)
End Sub
Private Sub Class_Terminate()
If m_idTimer <> 0 Then KillTimer 0, m_idTimer
End Sub
Public Property Get Interval() As Long
Interval = m_Interval
End Property
Public Property Let Interval(ByVal New_Value As Long)
If New_Value >= 0 Then m_Interval = New_Value
End Property
Public Property Get Enabled() As Boolean
Enabled = m_Enabled
End Property
Public Property Let Enabled(ByVal New_Value As Boolean)
m_Enabled = New_Value
If m_idTimer <> 0 Then KillTimer 0, m_idTimer
If New_Value And m_Interval > 0 Then
m_idTimer = SetTimer(0, 0, m_Interval, m_lTimerProc)
End If
End Property
Private Function GetClassProcAddr(ByVal Index As Long, Optional ParamCount As Long = 4, Optional HasReturnValue As Boolean) As Long
Static lR
Ïà¹ØÎĵµ£º
vb class Property Get¡¢Property Let ʹÓÃ
<%
'ÔÚ Class ¿éÖУ¬³ÉԱͨ¹ýÏàÓ¦µÄÉùÃ÷Óï¾ä±»ÉùÃ÷Ϊ Private(˽ÓгÉÔ±£¬Ö»ÄÜÔÚÀàÄÚ²¿µ÷ÓÃ) »ò Public(¹«ÓгÉÔ±£¬¿ÉÒÔÔÚÀàÄÚÍⲿµ÷ÓÃ) ¡£
'±»ÉùÃ÷Ϊ Private µÄ½«Ö»ÔÚ Class ¿éÄÚÊǿɼûµÄ¡£±»ÉùÃ÷Ϊ Public ²»½öÔÚ Class ¿éµÄÄÚ²¿ÊǿɼûµÄ£¬¶Ô Class ¿éÖ®ÍâµÄ´úÂëÒ²Êǿɼûµ ......
ʹÓÃVC±àдVBʹÓÃDLL
Ò»¡¢ÔÚº¯Êý¶¨Òåǰ±ØÐë¼ÓÉÏextern "c"£¬_stdcall¹Ø¼ü×Ö¡£
extern "C" int _stdcall Sum(int x,int y)
{
return x+y;
}
¶þ¡¢DLLµÄ.defÎļþÖбØÐë¼ÓÉÏÈë¿Úº¯Êý
EXPORTS
sample @1
  ......
ÖØÊ°VBÖ®Èý£¬¶þ½øÖÆÎļþƪ
PMP ¹Ø¾¢ËÉ
¹íʹÉñ²î£¬09Äê12ÔÂÈëÖ°µÄ¹«Ë¾ÈÔʹÓÃVB¿ª·¢Èí¼þ£¬ËäÈ»²¢·Çרְ¿ª·¢£¬µ«Ò²²»µÃ²»ÔÚʸô4ÄêÖ®ºó£¬ÖØÐÂʹÓÃVB¡£
¶ÁÈ¡¡¢Ð޸Ķþ½øÖÆÎļþÈÔÊǴ󲿷ֱà³ÌÓïÑԵĻù±¾¿ª·¢¼¼ÄÜ¡£¿ÉÒÔÌá¸ß´¦ÀíÎļþЧÂÊ£¬Ö÷ÒªÓ¦ÓÃÔÚͨÐÅ¡¢½»»»Êý¾ÝµÈ·½Ãæ¡£
'open filena ......
¡¡¡¡Èç½ñOCX¿Ø¼þÔÚ±à³ÌÖÐÒÑÕ¼ÁìÁ˺ÜÖØÒªµÄµØÎ»,ÎÒÃÇ¿ÉÒÔÀûÓÃOCX¿Ø¼þÍê³ÉһЩÏ൱¸´Ôӵıà³Ì²Ù×÷.ͬʱOCX ¿Ø¼þ»¹ÓÐÀûÓÚÖ÷³ÌÐòµÄ¼òµ¥»¯¡¢¹¦ÄܵÄÖØÓá¢Òþ³£³ÌÐòʵÏÖϸ½Ú¡¢±ãÓÚÉý¼¶¡¢´«²¥·½±ãµÈÓŵ㡣ÏÖÔÚÎÒÃÇ¿ÉÒÔÀûÓÃVB 5.0·½±ãµÄÖÆ×÷³ö×Ô¼ºµÄOCX¿Ø¼þ¹©ÎÒÃÇÔÚ±à³ÌÖÐʹÓÃͬʱ»¹¿ÉÒÔ°ÑËüË͸øÄãÖÜΧϲ»¶±à³ÌµÄÅóÓÑ!
ÏÂÃæÁгöÖÆ× ......