質問

私はルビーで自動車を使用しようとしています。 Window Tab AccessなどのGUIオートメーションに必要なユーザー定義の機能があります。問題は、通常の自動車APIとは異なり、Autoit DLL用のRuby Win32oleオブジェクトハンドルからAutoitのUDFSにアクセスできないことです。 。私のルビーコードでこれらのUDFにアクセスする方法はありますか?これらは実際には自動車スクリプトで定義されているいくつかの関数であり、私が望むものは不可能だと思います。私はこれを前に試したことがあり、いくつかの結論に達した人からの意見が欲しいです。

よろしくお願いします、アンジャリ

役に立ちましたか?

解決

によると、それはできません 自動車フォーラム. 。 RubyのUDFを書き直す必要があると思います。

他のヒント

RubyでUDFSを書き換えることは簡単なソリューションです。ただし、関係する作業量のため、それはすべての場合において解決策ではありません。 Rubyから自動車機能を呼び出す直接的な方法はありません。なぜなら、AutoitをDLLまたはcomなどにコンパイルする方法はないためです。

できることは、自動車UDFを書き換えて、インタープロセス通信を有効にすることです。コマンドラインパラメーターを介してこれを行うことができます。

If $CmdLine[0] > 1 Then
    Switch $CmdLine[1]
        Case "/1"
            Method1()
        Case "/2"
            Method2()
    EndSwitch
EndIf

Func Method1()
    ConsoleWrite("This is the 1st Method" & @CRLF)
EndFunc

Func Method2()
    ConsoleWrite("This is the 2nd Method" & @CRLF)
EndFunc

上記のスクリプトをCUIとしてコンパイルし(自動車コンパイラのオプションをチェックしてください)、Rubyから実行します。その後、標準のストリームを介して出力をつかむことができます。または、スクリプトの出力をディスク上のファイルに記述してから、Rubyを使用してファイルの内容を読み取ることができます。

より非伝統的なインタープロセス通信のためのその他のオプションは次のとおりです。

可能性は無限です。 :)この投稿はあなたを始めるべきです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top