powerbuilder FTP问题

bedsb 2012-10-22 02:16:42
我想问下。。我公司用的ERP下载程序是PB8开发的。。使用的是 PB5.0中 FTP例子 socket.pbl这个。。。但发现程序在 XP客户端中可以下载和使用。。。在 WIN7下面就不能够FTP下载。。。有没有高手知道原因?防火墙都关闭了。。
...全文
1134 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bedsb 2012-11-29
  • 打赏
  • 举报
回复
我看了下,,PB里面用的是 sockets.pbl 中 win_socket_32 中定义了好多 LOCAL external FUNCTION 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"
天上人间 2012-11-21
  • 打赏
  • 举报
回复
可以先在开始检查一下是哪个系统,再根据不同的系统调用不同的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
zhangyangziwo 2012-11-21
  • 打赏
  • 举报
回复
比较关心ftp是如何实现的? 请教
yjq777 2012-11-16
  • 打赏
  • 举报
回复
引用 3 楼 arfa12 的回复:
FTP调用的是windows系统的DLL文件吧,win7的系统dll文件名变了,需要改下调用的DLL名
请问改成什么文件名了?
yjq777 2012-11-16
  • 打赏
  • 举报
回复
我也遇到了,在WIN7下无法下载
arfa12 2012-11-15
  • 打赏
  • 举报
回复
FTP调用的是windows系统的DLL文件吧,win7的系统dll文件名变了,需要改下调用的DLL名
qlzgdzfl 2012-11-15
  • 打赏
  • 举报
回复
看看是不是api 定义的问题
rampike 2012-10-23
  • 打赏
  • 举报
回复
调试一下吧
会不会是dll缺失?

680

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder API 调用
社区管理员
  • API 调用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧