2014-10-09 70 views
0

我一直在試圖獲得以下條形碼閱讀器程序在Windows手機上工作。vb.net內聯函數幫助使用dispatchtimer.tick

我按照以下網站上的步驟:http://developer.nokia.com/community/wiki/Generating_and_scanning_barcodes_using_ZXing_on_Windows_Phone

,並將它轉換成vb.net,但有一行代碼,這似乎是給我找麻煩。

網站上的示例使用C#和下面的代碼塊是

// This timer will be used to scan the camera buffer every 250ms and scan for any barcodes 
    _scanTimer = new DispatcherTimer(); 
    _scanTimer.Interval = TimeSpan.FromMilliseconds(250); 
    _scanTimer.Tick += (o, arg) => ScanForBarcode(); 

當這種轉換的麻煩有一個我真的到VB.NET您會收到以下

' This timer will be used to scan the camera buffer every 250ms and scan for any barcodes 
_scanTimer = New DispatcherTimer() 
_scanTimer.Interval = TimeSpan.FromMilliseconds(250) 
_scanTimer.Tick += Function(o, arg) ScanForBarcode() 

我就上線獲得兩個錯誤都:

  1. 公共事件蜱(發送者爲對象,E作爲System.EventArgs)」是一個事件,並且不能直接調用。使用'RaiseEvent'語句來引發一個事件。

,如果我的RaiseEvent添加到行然後我得到以下錯誤

_scanTimer的開始」不是某一事件PhoneApp2.Scan'

  • ScanForBarcode()事件會產生以下錯誤:表達式不會生成值。
  • 對上述錯誤的任何幫助將不勝感激,因爲我不知道該怎麼辦來糾正錯誤。

    感謝 加雷思

    回答

    1

    試試這個:

    AddHandler _scanTimer.Tick, Sub(o As Object, arg As EventArgs) 
               ScanForBarcode() 
              End Sub 
    

    還是要更加縮短:

    AddHandler _scanTimer.Tick, Sub(o As Object, arg As EventArgs) ScanForBarcode() 
    

    事件是使用在vb.net不同的模式加入。

    +0

    如果我添加了這個,我不會收到以下錯誤 – Gazza 2014-10-09 19:43:36

    +0

    'AddHandler'或'RemoveHandler'語句事件操作數必​​須是點限定表達式或簡單名稱。 – Gazza 2014-10-09 19:44:07

    +0

    對不起,修正了這個例子。我錯過了ScanForBarCode不使用標準事件簽名。 – 2014-10-09 19:44:25