[求助]請教關(guān)于金字塔VBS控件mswinsck.ocx問題
作者:金字塔 來源:cxh99.com 發(fā)布時間:2014年07月11日
- 咨詢內(nèi)容:
我遇到一個VBS的技術(shù)問題,折磨我?guī)滋炝藷o法解決。
請教各位老師:在公式中如何才能調(diào)用windows中的mswinsck.ocx通訊組件?
下面的代碼,寫到111.vbs文件中,雙擊可以執(zhí)行,但放到金字塔公式中就無法執(zhí)行了。
set sock=createobject( "MSWinsock.Winsock")
sock.Protocol=0
sock.connect "127.0.0.1" , 8099
sock.senddata "3188,1"
提示:
錯誤代碼: 40006
描述: 所需事物或請求的錯誤協(xié)議或連接狀態(tài)
======================================
各位老師,我需要在公式中使用TCP協(xié)議,向交易平臺的端口發(fā)送指令,但因為無法使用控件而不能成功。同樣的,wscript.sleep這個代碼也不能執(zhí)行。我想應是公式無法高用windows下的腳本解釋引擎wscritp.exe的原因。這個問題解決了,上面的問題也就解決了。
我不想用shell的方法來調(diào)用vbs文件,而是想把代碼直接寫到公式中。
求教!
- 金字塔客服:
補充:在代碼第三句后加上這句Sock.AboutBox,也就是跳出控件版本,執(zhí)行時點跳出窗口的確定,后面的代碼就能執(zhí)行了。百思不得其解的是,換成其它的任何方式的暫停方式,不論停多長時間,后面的代碼都不能執(zhí)行。請各位老師指教。
- 用戶回復:
真是邪門啊。。。用Sock.AboutBox暫停一下,或用msgbox方法暫停一下,都可以正常運行,但使用暫停函數(shù),停多久都不行。為什么。這是我寫的暫停函數(shù)
Public Sub Pause(PauseTime)Dim Start Start = Timer + PauseTime Do While Start > Timer If Timer < 1 And Start >= 86400 Then Start = Start - 86400 end if LoopEnd Su
- 網(wǎng)友回復:
看看是不是因為公式中頻繁快速調(diào)用導致的問題
- 網(wǎng)友回復:
謝謝王鋒老大。我的思考:1、TCP連接后,確實需要等待一點時間,等連接成功后再發(fā)送數(shù)據(jù)。2、當前的測試情況似乎說明:這里不單是等待時間問題,應是在跳出窗口再點確定的過程中,即停頓了程序運行,又觸發(fā)了什么。不然,為什么用停頓函數(shù)無論停多長時間都不行,而必須用跳出窗口的方法。百思不得其解。