こんにちは、C# .NET のコードに問題がありました。OPC サーバーに接続するために DLL を使用しています。この DLL は VB.NET プロジェクトで使用され、まったく問題なく動作します。
ListBox で使用可能なサーバーのリストを表示しようとしています。VB.NET で使用されている (そして動作する) コードは次のとおりです。
Dim AllOPCServers As Object
AllOPCServers = AnOPCServer.GetOPCServers
' Load the list returned into the List box for user selection
Dim i As Short
For i = LBound(AllOPCServers) To UBound(AllOPCServers)
AvailableOPCServerList.Items.Add(AllOPCServers(i))
Next i
そして、私はこれをC#アプリケーションで使用するために書きました
try
{
var _listOPCServer = _OPCServer.GetOPCServers();
foreach(var i in _listOPCServer)
{
string serverName = (string)i;
listServers.Items.Add(serverName);
}
}
catch (Exception exc)
{
lstMsg.Items.Add(DateTime.Now + " Error al Obtener Lista de OPC's: " + exc.Message);
}
[ローカル] タブのデバッグ モードでは、次のように表示されます。
_listOPC サーバー | {文字列[1..2]} | ダイナミック {文字列[]} |
[1] | "Server01" | string
[2] | "Server02" | string
アップデート:
「foreach(var i in _listOPCServer )」の行にエラーが表示されます
オブジェクト型 'System.String[*]' を型 'System.String[]' にキャストできません
それが実際のエラーです。
私は何か間違ったことをしていると確信しています、誰かが私を助けることができますか?