2017-04-25 2 views
3

以下のコードを使用してコンピュータ名を取得しました。OpenEdge 10.2A - 入力がWindows 10のWindows Update 1703の後に動作しない

def new shared var cHost as char format "x(40)" no-undo. 
INPUT THROUGH hostname NO-ECHO. 
SET cHost. 
INPUT CLOSE. 
DISPLAY chost. 

私たちのコンピュータ(Windows 10 - 1703)をアップデートした後、もう動作しません。 SET cHostが失敗する部分です。試しましたIMPORT UNFORMATTED cHostしかし、動作しません。

PS:私はOS-GETENV( "COMPUTERNAME")を使用してコンピュータ名を得ることができますが、私はステートメントを使用してINPUTを使用してそれをしなければなりません。


編集: 10.2Aとの問題ではなく、より一般的なものだけではないようです。 ホスト名でもすべてのコンソールアプリケーションms-dosコマンドに関連するだけではありません。ここでの入力をの文を別のProgressコマンドに置き換えるか、他の方法で既存のコンソールアプリケーションと通信しようとします。

答えて

0

それはバグと思われますので、誰かがよりよい解決策を思い付くまで、これは私が私のコードを変更する方法です。

DEF VAR cHost AS CHAR FORMAT "x(40)" NO-UNDO. 
OS-CREATE-DIR VALUE("c:\temp"). 
OS-COMMAND SILENT VALUE("hostname >c:\temp\hostname.txt"). 
INPUT FROM VALUE("c:\temp\hostname.txt"). 
IMPORT UNFORMATTED cHost. 
INPUT CLOSE. 
MESSAGE cHost. 

MS-DOSはとコマンドのためにこのコードを使用することができますコンソールアプリケーションも同様です。

DEF VAR cHost AS CHAR FORMAT "x(40)" NO-UNDO. 
OS-CREATE-DIR VALUE("c:\temp"). 
OS-COMMAND SILENT VALUE("ECHO %cd% >c:\temp\result.txt"). 
INPUT FROM VALUE("c:\temp\result.txt"). 
IMPORT UNFORMATTED cHost. 
INPUT CLOSE. 
MESSAGE cHost. 

ありがとうございました。

0

まず、 'hostname'コマンドがコマンドウィンドウから正常に動作していることを確認します。 「それはもはや作品」よりも有用エラーメッセージを明らかにするかもしれません

INPUT THROUGH VALUE("hostname"). 
IMPORT UNFORMATTED cHost. 
INPUT CLOSE. 
DISPLAY cHOST format "x(60)". 

:それは私はこのようなスニペットの何かをコーディングしていると仮定すると

はCOMPUTERNAMEはあなたのニーズを満たしているので、しかし、あなたはあなたにも試してみてくださいいくつかの非常に神秘的な理由を介して入力を使用する必要があります。問題は、私は窓を実行していますOpenedgeバージョン10に限定されるものではないようだ

INPUT THROUGH VALUE("echo %COMPUTERNAME%"). 
IMPORT UNFORMATTED cHost. 
INPUT CLOSE. 
DISPLAY cHOST format "x(60)". 
+0

こんにちはトム、私はあなたが私の質問に答えてくれてうれしいです。私は** hostname **と** echo%computername%**コマンドをチェックしています。 エラーメッセージが表示されないため、私は何も書いていません。何も表示されません。あたかも表示コマンドがないかのように動作します。どのように** SET cHost ** lineを削除すると、プロシージャエディタ画面が空文字列で表示されます。私はあなたのコードを試して、それは同じです;コードは実行されますが、表示コマンドがないかのようにプロシージャエディタ画面は表示されません。 – aza

+0

この問題は**すべてのコンソールアプリケーション**に適用され、**値を返すことが分かりました。私は問題をテストするためにc#とvb.netを使用してサンプルコンソールアプリケーションを作成しましたが、私もダミーのbatファイルでテストしましたが、問題は依然として続きます。 – aza

+0

SET(またはIMPORT)ステートメントで「ハング」し、DISPLAYに進まないと言っていますか? –

0

10 winver 1703開発用デバイス、Progress/Openedge 8.3を使用しており、これを実行できなくなりました。

def var a as char format "x(70)". 

    input through "echo %cd%" no-echo. 
    import unformatted a. 
    input close. 

    message a. pause. 

これは、progress/openedge 8.3を使用して、Windows Server 2012 R2上で動作します。

ここではもう機能しません。プログラム内では、importコマンドにヒットすると終了します。

+0

それはより一般的な問題です。それをプロシージャに入れて呼び出すと、呼び出されたプロシージャを終了するだけで、プログラムは引き続き動作します。私はさまざまなケースをテストしました。 **この問題は、**すべてのコンソールアプリケーション**および** ms-dosコマンド**で発生するようです。他の言語で書かれているので変更できないプログラム呼び出しがあるので、誰かが解決策を提示してくれることを願っています。また、他のプログラムとはもう通信できないことを意味します。 – aza

関連する問題