2 つの会社 (データベース) から選択し、記事/アイテムにアクセスしてブロックまたはブロック解除できる winforms アプリがあります。私は SAP B1 SDK を通じてそれを行います。関数は機能し、期待どおりにすべてを行います。「問題」は、ユーザーがその速さを気に入らず (ユーザーの皆さん、私は正しいですか?)、速度を遅くして視覚的な機能 (プログレスバー、画像のロック/ロック解除、追加のラベル) を追加するように私に依頼したことです。どの記事がブロック/ブロック解除されているかがわかります。
これは、記事をロック/ロック解除する機能です。
private void items()
{
string[] lines = textBox1.Lines;
for (int i = 0; i <= lines.GetUpperBound(0); i++)
{
oItem = ((SAPbobsCOM.Items)(oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oItems)));
oItem.GetByKey(lines[i]);
if (comboBox1.Text == "Lock")
{
oItem.Frozen = BoYesNoEnum.tYES;
}
else if (comboBox1.Text == "Unlock")
{
oItem.Frozen = BoYesNoEnum.tNO;
}
lRetCode = oItem.Update();
if (lRetCode != 0)
{
oCompany.GetLastError(out lErrCode, out sErrMsg);
MessageBox.Show(lErrCode + " " + sErrMsg + " item: " + lines[i]);
}
}
}
これを達成するための最善かつ正しい方法は何でしょうか? 使用してみThread.Sleep
ましたが、何度か失敗した後、コード行を挿入する場所が見つからず、前、中間、後の操作を試しましたが、成功しませんでした。どんなアイデアや提案も大歓迎です。