问题描述
我有一个cilico.dll是读RFID标签的。但下面红色标记的字符,系统总是显示出错,提示:PublicEventDataReceive(readdataAsObject,eAsSystem.EventArgs)”是事件,不能直接调用。请使用“RaiseEvent”语句引发事件。(注:RFID.DataReceive应该是cilico.dll里的一个事件)请教各位大侠,我该怎么修改?Privatem_strAsString=""Privatem_nIndexAsInteger=0PrivateRFIDAsNewCilico.RFID11784PublicSubNew()MyBase.New()InitializeComponent()RFID.Open(False)RFID.DataReceive=(RFID.DataReceive+NewRFID11784.eventhandle(AddressOfm_rfid_DataReceive))EndSubPrivateSubm_rfid_DataReceive(ByValreaddataAsObject,ByValeAsEventArgs)DimstrAsString=CType(readdata,String)ShowCountry(str)If(m_str=str)Thenm_nIndex=(m_nIndex+1)ShowCount(m_nIndex.ToString)Elsem_nIndex=0ShowCount(m_nIndex.ToString)EndIfEndSub
解决方案
解决方案二:
把m_rfid_DataReceive改名为RFID_DataReceive就可以,不要红色的那一行。VB6是按照名称自动对应事件的,无需指定。
解决方案三:
lz要在new里面动态绑定事件吗?如果不用的话PrivateSubm_rfid_DataReceive(ByValreaddataAsObject,ByValeAsEventArgs)HandlesRFID.DataReceive就可以了,红字那行整行删掉