2014-04-29 101 views
0

我需要在我的WPF應用程序中打開錢箱,這是我第一次處理錢箱,經過一番搜索之後,我知道我將使用Microsoft Point of Services。所以,我已經安裝了POSforDotNet V1.14,並開始新項目,並添加了引用,我發現這個例子:打開錢箱

CashDrawer myCashDrawer; 
PosExplorer explorer; 

public MainWindow() 
{ 
    InitializeComponent(); 
    this.Loaded += MainWindow_Loaded; 
} 

void MainWindow_Loaded(object sender, RoutedEventArgs e) 
{ 
    explorer = new PosExplorer(); 
    DeviceInfo ObjDevicesInfo = explorer.GetDevice("CashDrawer"); 
    myCashDrawer = explorer.CreateInstance(ObjDevicesInfo); 

} 

private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    myCashDrawer.Open(); 
    myCashDrawer.Claim(1000); 
    myCashDrawer.DeviceEnabled = true; 
    myCashDrawer.OpenDrawer(); 
    myCashDrawer.DeviceEnabled = false; 
    myCashDrawer.Release(); 
    myCashDrawer.Close(); 
} 

您可以下載我的測試應用程序HERE

我都試過,但沒有作用: (

給我誤差在myCashDrawer = explorer.CreateInstance(ObjDevicesInfo);線

請幫助我,因爲我被微軟的服務點卡住了,而且我還沒有完全理解它。

+0

你能定義'不行'嗎? –

+0

@PatrickHofman,謝謝你的時間,它給了我錯誤myCashDrawer = explorer.CreateInstance(ObjDevicesInfo);線。您可以下載測試應用程序 –

+4

您還需要在原始問題中發佈您收到的錯誤。我似乎記得當我使用POS for .NET時,有一個單獨的應用程序需要用來在Windows級別聲明設備。你可以嘗試研究。 – alan

回答

3

您需要註冊到CashDrawer。我現在更新了你的代碼,確保你不會出錯。

myCashDrawer = (CashDrawer)explorer.CreateInstance(ObjDevicesInfo); 
2

除了(CashDrawer)演員,我會建議使用

DeviceInfo ObjDevicesInfo = explorer.GetDevice("CashDrawer", "LOGICAL DEVICE NAME for your cash drawer"); 

如果您已經安裝了不止一個,你只需要使用一個參數,它會拋出一個錯誤(和MSPOS v1.14安裝了一個假現金抽屜進行測試,所以你至少有你的身體和那個)。