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