VBベースのコードブロックをC#で書き直す必要があり、COMオブジェクトのインスタンスを作成して新しいターミナルセッションを作成する関数を作成しています画面を読み込んで画面の内容を返します。私はC#で正しいアプローチをとっていないような気がしますが、フィードバックをいただければ幸いです。現状ではその
VB相手は、上記したようにC言語でCOMオブジェクトのインスタンスを正しく設定する
VBコード
set bzlipi = CreateObject("BlueZone.LIPI")
bzlipi.Username = "myuserid"
bzlipi.Password = "mypassword"
bzlipi.HostAddress = "101.122.0.138"
bzlipi.ShowTransferStatusWindow = False
bzlipi.LocalPromptBeforeOverwrite = False
result = bzlipi.ReceiveFile("local.txt", "MYLIB/F4101")
MsgBox bzlipi.ErrorMessage
C#
using BZLIPILib;
using BZWHLLLib;
public void Connector() {
object Host = Activator.CreateInstance(Type.GetType("BZLIPILib.LIPI"));
//Set Host properties
}
、これは、ホスト内の任意の特性を認識していないされません。私は使用可能なすべてのCOMオブジェクト
参照をVS Projectのパッケージマネージャー内で作成しました。どうすればいいですか
別のやり方はありますか?
ライブラリを直接参照しない理由はありますか? –
ベンダーが推奨している以外の本当の理由はありません。 – LifeOf0sAnd1s
C#コードは実際には*ライブラリを直接参照するため、 'using'ディレクティブが機能します。実際にそれを使用していないのは、まあ、賢明ではありません。しかし、 '動的ホスト'と 'Type.GetTypeFromProgID(" BlueZone.LIPI ")'が必要です。 IntelliSenseはまだメンバーを表示しません。 –