このイベントが発生したときにスキャナーイベントがあり、スキャナーで読み取ったものを textbox に保存するコードがあります。
これをトレースしているときは正常に動作しますが、ユーザーの画面には何も表示されません
ボタンクリック内のこのコード:
protected void Button1_Click(object sender, EventArgs e)
{
try
{
//Instantiate CoreScanner Class
cCoreScannerClass = new CCoreScannerClass();
//Call Open API
short[] scannerTypes = new short[1];//Scanner Types you are interested in
scannerTypes[0] = 1; // 1 for all scanner types
short numberOfScannerTypes = 1; // Size of the scannerTypes array
int status; // Extended API return code
cCoreScannerClass.Open(0, scannerTypes, numberOfScannerTypes, out status);
// Subscribe for barcode events in cCoreScannerClass
cCoreScannerClass.BarcodeEvent += new
_ICoreScannerEvents_BarcodeEventEventHandler(OnBarcodeEvent);
// Let's subscribe for events
int opcode = 1001; // Method for Subscribe events
string outXML; // XML Output
string inXML = "<inArgs>" +
"<cmdArgs>" +
"<arg-int>1</arg-int>" + // Number of events you want to subscribe
"<arg-int>1</arg-int>" + // Comma separated event IDs
"</cmdArgs>" +
"</inArgs>";
cCoreScannerClass.ExecCommand(opcode, ref inXML, out outXML, out status);
Console.WriteLine(outXML);
}
catch (Exception exp)
{
Console.WriteLine("Something wrong please check... " + exp.Message);
}
}
イベント発生後のこのコード:
void OnBarcodeEvent(short eventType, ref string pscanData)
{
first = pscanData;
printfunction();
}
textbox に書き込む printfunction 関数の後のこのコード:
private void printfunction()
{
int l = first.IndexOf("<datalabel>");
second = first.Substring(l + 11);
int j = second.IndexOf("</datalabel>");
second = second.Substring(0,j-1);
string newValue = second.Replace("0x", ""); ;
newValue = newValue.Replace(" ", string.Empty);
txt = GetStringFromAsciiHex(newValue);
TextBox1.Text = txt;
}
私を助けてください。ありがとうございました。