网上介绍SafeArray使用C#读取的很少。所以特贴此代码,供需要的人使用。
按钮事件:
[csharp] view plaincopy
// clear TextBox
edtAck.Text = "";
edtInq.Text = "";
repoInfoLib.RepoFmtClass report = new RepoFmtClass();
Array retAck = report.getAckRepo((uint)Int32.Parse(edtStation.Text));
foreach (Byte bt in retAck)
edtAck.Text += "0x" + bt.ToString("X2") + " ";
Array retInq = report.getInqRepo((uint)Int32.Parse(edtStation.Text));
foreach (Byte bt in retInq)
edtInq.Text += "0x" + bt.ToString("X2") + " ";
第2,3行:清除TextBox控件中的文本。
第5行:建立COM实例
第6行:调用COM方法,此方法返回SafeArray数据
第8,9行:使用foreach循环,把每个数组中的数据赋值给TextBox控件,并以十六进制方式显示(0xYY)。
第10行:同第6行
第12,13行:同第8,9行