我們使用下面的代碼來獲取計算機的名稱。OpenEdge 10.2A - 在Windows 10上的Windows Update 1703之後,INPUT THROUGH設置不起作用
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( 「計算機」)計算機名稱,但我必須這樣做,使用INPUT THROUGH聲明。
編輯:看來,這不僅是一個與10.2A問題,而是一個更普遍的一個。此外它不僅與主機名相關,而且還與所有控制檯應用程序和ms-dos命令有關。現在,我將嘗試用另一個Progress命令替換INPUT THROUGH語句(如果有),或嘗試使用其他方法與現有控制檯應用程序通信。
嗨湯姆,我很高興你是對我的問題作出迴應的人。我已經檢查過,** hostname **和** echo%computername%**命令仍然有效。 我沒有寫任何錯誤消息,因爲它沒有給出任何。它不顯示任何東西。它就像沒有顯示命令一樣運行。但是,如果刪除** SET cHost **行,則會顯示一個空白字符串的過程編輯器屏幕,因爲它應該如此。我試過你的代碼,它是一樣的;代碼運行,但沒有過程編輯器屏幕出現,就好像沒有顯示命令一樣。 – aza
我發現這個問題適用於**所有控制檯應用程序**返回任何值。我已經使用c#和vb.net編寫了示例控制檯應用程序來測試問題,我也使用了一個虛擬bat文件進行了測試,問題仍然存在。 – aza
你是說它在SET(或IMPORT)語句中「掛起」並且沒有進入DISPLAY? –