我想問下。。我公司用的ERP下載程式是PB8開發的。。使用的是 PB5.0中 FTP例子 socket.pbl這個。。。但發現程式在 XP客戶端中可以下載和使用。。。在 WIN7下面就不能夠FTP下載。。。有沒有高手知道原因?防火墻都關閉了。。
uj5u.com熱心網友回復:
除錯一下吧會不會是dll缺失?
uj5u.com熱心網友回復:
看看是不是api 定義的問題uj5u.com熱心網友回復:
FTP呼叫的是windows系統的DLL檔案吧,win7的系統dll檔案名變了,需要改下呼叫的DLL名uj5u.com熱心網友回復:
我也遇到了,在WIN7下無法下載uj5u.com熱心網友回復:
請問改成什么檔案名了?
uj5u.com熱心網友回復:
比較關心ftp是如何實作的?請教
uj5u.com熱心網友回復:
可以先在開始檢查一下是哪個系統,再根據不同的系統呼叫不同的api.
environment lenv
li_rtn = GetEnvironment(lenv)
if li_rtn <> 1 then
MessageBox("System Error", "Error on getting OS version - " + String(li_rtn) , StopSign!)
return false
end if
choose case lenv.OSMajorRevision
case 5 // WinXP
this.iCryptoProvider = this.MS_ENH_RSA_AES_PROV_XP
case 6 // Win7,Vista
this.iCryptoProvider = this.MS_ENH_RSA_AES_PROV
case else
MessageBox("System Error", "Error OS version - " + String(lenv.OSMajorRevision) , StopSign!)
return false
end choose
uj5u.com熱心網友回復:
我看了下,,PB里面用的是 sockets.pbl 中 win_socket_32 中定義了好多 LOCAL externalFUNCTION int WSAStartup( uint wVersionRequested, ref s_wsadata lpWSAData ) LIBRARY "wsock32.dll"
FUNCTION int WSACleanup() LIBRARY "wsock32.dll"
FUNCTION int ntohs(int netshort) LIBRARY "wsock32.dll"
FUNCTION int htons(int hostshort) LIBRARY "wsock32.dll"
FUNCTION int WSAGetLastError ( ) LIBRARY "wsock32.dll"
FUNCTION int getsockname(uint s,ref s_sockaddr name, ref int namelen) LIBRARY "wsock32.dll"
FUNCTION int setsockopt (uint socket, int level, int optname,s_linger optval, int optlen ) LIBRARY "wsock32.dll"
PRIVATE FUNCTION uint socket(int af, int ttype, int protocol) LIBRARY "wsock32.dll"
PRIVATE FUNCTION int WSAAsyncSelect (uint socket, uint Wnd, uint wMsg, long lEvent ) LIBRARY "wsock32.dll"
PRIVATE FUNCTION int bind (uint s, s_sockaddr name, int namelen ) LIBRARY "wsock32.dll"
PRIVATE FUNCTION int listen(uint s, int backlog) LIBRARY "wsock32.dll"
PRIVATE FUNCTION uint accept (uint s,s_sockaddr addr, ref int addrlen ) LIBRARY "wsock32.dll"
PRIVATE FUNCTION int closesocket ( uint socket ) LIBRARY "wsock32.dll"
PRIVATE FUNCTION int wsconnect (uint socket, s_sockaddr name, int namelen ) LIBRARY "wsock32.dll"ALIAS for "connect"
PRIVATE FUNCTION int WSACancelBlockingCall ( ) LIBRARY "wsock32.dll"
PRIVATE FUNCTION int recv ( int socket, ref blob buf, int len, int flags ) LIBRARY "wsock32.dll"
PRIVATE FUNCTION int send ( int socket, ref blob buf, int len, int flags ) LIBRARY "wsock32.dll"
PRIVATE FUNCTION string GetHost(string lpszhost, ref string lpszaddress ) library "pbws32.dll"
PRIVATE FUNCTION int GetService(string lpszSevicet,string lpszProto ) library "pbws32.dll"
PRIVATE FUNCTION boolean KillTimer(uint Wnd, int IDEvent) LIBRARY "user32.dll"
PRIVATE FUNCTION uint SetTimer(uint Wnd, int IDEvent, uint Elapse, ulong Dummy) LIBRARY "user32.dll"
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/60686.html
標籤:API 調用
下一篇:關于呼叫外部函式的問題
