FUNCTION ulong CopyFile(ref string lpExistingFileName,ref string &
lpNewFileName,ulong bFailIfExists) LIBRARY "kernel32.dll"
在cb_1.clicked中:
copyfile("C:\My Documents\temp.text","\\server\ss\temp.txt",False)
PB提示:
c0082: reference argument must be a non-constant and a non-readonly variable reference
是怎么回事呀?
14 个解决方案
#1
在API的函数中不能直接使用字符串的,必须使用变量的。
你将源和目的都放到变量中就可以了。
你将源和目的都放到变量中就可以了。
#2
试试看先。
#3
to :pbworm(pb菜鸟)
编译时通过,运行的时候PB提示。
powerbuilder execution error (R0015)
error:error calling external function copyfile in clicked event of object
cb_1 of w_main
编译时通过,运行的时候PB提示。
powerbuilder execution error (R0015)
error:error calling external function copyfile in clicked event of object
cb_1 of w_main
#4
to:pbworm(pb菜鸟)
我想做一个版本自动更新的程序,不知道你有没有。给个例子我,好吗?
我想做一个版本自动更新的程序,不知道你有没有。给个例子我,好吗?
#5
我昨天才问过这个问题:
定义如下:
FUNCTION boolean CopyFileA(ref string cfrom, ref string cto, boolean flag) LIBRARY "Kernel32.dll"
string l_from, l_to
ls_from = "C:\My Documents\temp.text" //源文件,必须存在
ls_to = "\\server\ss\temp.txt"
rtn = CopyFileA(l_from, l_to, l_flag)
MessageBox("CopyFile", string(rtn))
另外:
pb8中有函数filecopy()
定义如下:
FUNCTION boolean CopyFileA(ref string cfrom, ref string cto, boolean flag) LIBRARY "Kernel32.dll"
string l_from, l_to
ls_from = "C:\My Documents\temp.text" //源文件,必须存在
ls_to = "\\server\ss\temp.txt"
rtn = CopyFileA(l_from, l_to, l_flag)
MessageBox("CopyFile", string(rtn))
另外:
pb8中有函数filecopy()
#6
to:: fzymr(风中游牧人)
我还想问一下,我要是用这个函数传一批文件速度会很慢吗?每个文件有300k左右,共38个文件8M多。
我还想问一下,我要是用这个函数传一批文件速度会很慢吗?每个文件有300k左右,共38个文件8M多。
#7
同意楼上的
另,我没有版本更新的例子。
另,我没有版本更新的例子。
#8
to ylg007(棕子) :
没注意,想不到都是熟人!copyfile的速度挺快的,可以用一个进度条显示一下。如果用他做
版本更新不是很好,因为如果有文件夹就不好处理了!
to pbworm(pb菜鸟) :
老兄,辗转在多个帖子之间,很累吧!
没注意,想不到都是熟人!copyfile的速度挺快的,可以用一个进度条显示一下。如果用他做
版本更新不是很好,因为如果有文件夹就不好处理了!
to pbworm(pb菜鸟) :
老兄,辗转在多个帖子之间,很累吧!
#9
to : fzymr(风中游牧人)
让用户使用固定的文件夹就可以了。
让用户使用固定的文件夹就可以了。
#10
哈哈,在回答的同时,自己也在学习啊!
有文件夹也是可以处理的,建议你们使用listBox的disList()函数将指定目录下的所有文件都列出来,参数好象是使用55,这样连所有的子目录也可以得到,然后copy就可以了。我估计windows在copy目录的时候使用的也是每个文件copy的方法。
有文件夹也是可以处理的,建议你们使用listBox的disList()函数将指定目录下的所有文件都列出来,参数好象是使用55,这样连所有的子目录也可以得到,然后copy就可以了。我估计windows在copy目录的时候使用的也是每个文件copy的方法。
#11
to : pbworm(pb菜鸟)
我是考虑在连接数据库时就更新。要使用函数得到文件的修改时间呢。
我是考虑在连接数据库时就更新。要使用函数得到文件的修改时间呢。
#12
我没有做过,但我是这样考虑的。
如果每次都全部copy的话,如果文件比较多和大的话,速度上有一定的问题。其实大部分的更新和升级并不是全部的文件都重新修改了,而只是修改了部分的文件。这样的话,可以考虑在服务器上设置一个.txt或.ini文件,将所有修改了的文件的名称和路径放到里面。
这样当程序启动的时候,自动的读取这个文件,判断是否做个更新以及更新了什么文件,然后只copy更新了的文件就可以了。
如果每次都全部copy的话,如果文件比较多和大的话,速度上有一定的问题。其实大部分的更新和升级并不是全部的文件都重新修改了,而只是修改了部分的文件。这样的话,可以考虑在服务器上设置一个.txt或.ini文件,将所有修改了的文件的名称和路径放到里面。
这样当程序启动的时候,自动的读取这个文件,判断是否做个更新以及更新了什么文件,然后只copy更新了的文件就可以了。
#13
我就是这么做的
#14
谢谢pbworm(pb菜鸟)、fzymr(风中游牧人)。
#1
在API的函数中不能直接使用字符串的,必须使用变量的。
你将源和目的都放到变量中就可以了。
你将源和目的都放到变量中就可以了。
#2
试试看先。
#3
to :pbworm(pb菜鸟)
编译时通过,运行的时候PB提示。
powerbuilder execution error (R0015)
error:error calling external function copyfile in clicked event of object
cb_1 of w_main
编译时通过,运行的时候PB提示。
powerbuilder execution error (R0015)
error:error calling external function copyfile in clicked event of object
cb_1 of w_main
#4
to:pbworm(pb菜鸟)
我想做一个版本自动更新的程序,不知道你有没有。给个例子我,好吗?
我想做一个版本自动更新的程序,不知道你有没有。给个例子我,好吗?
#5
我昨天才问过这个问题:
定义如下:
FUNCTION boolean CopyFileA(ref string cfrom, ref string cto, boolean flag) LIBRARY "Kernel32.dll"
string l_from, l_to
ls_from = "C:\My Documents\temp.text" //源文件,必须存在
ls_to = "\\server\ss\temp.txt"
rtn = CopyFileA(l_from, l_to, l_flag)
MessageBox("CopyFile", string(rtn))
另外:
pb8中有函数filecopy()
定义如下:
FUNCTION boolean CopyFileA(ref string cfrom, ref string cto, boolean flag) LIBRARY "Kernel32.dll"
string l_from, l_to
ls_from = "C:\My Documents\temp.text" //源文件,必须存在
ls_to = "\\server\ss\temp.txt"
rtn = CopyFileA(l_from, l_to, l_flag)
MessageBox("CopyFile", string(rtn))
另外:
pb8中有函数filecopy()
#6
to:: fzymr(风中游牧人)
我还想问一下,我要是用这个函数传一批文件速度会很慢吗?每个文件有300k左右,共38个文件8M多。
我还想问一下,我要是用这个函数传一批文件速度会很慢吗?每个文件有300k左右,共38个文件8M多。
#7
同意楼上的
另,我没有版本更新的例子。
另,我没有版本更新的例子。
#8
to ylg007(棕子) :
没注意,想不到都是熟人!copyfile的速度挺快的,可以用一个进度条显示一下。如果用他做
版本更新不是很好,因为如果有文件夹就不好处理了!
to pbworm(pb菜鸟) :
老兄,辗转在多个帖子之间,很累吧!
没注意,想不到都是熟人!copyfile的速度挺快的,可以用一个进度条显示一下。如果用他做
版本更新不是很好,因为如果有文件夹就不好处理了!
to pbworm(pb菜鸟) :
老兄,辗转在多个帖子之间,很累吧!
#9
to : fzymr(风中游牧人)
让用户使用固定的文件夹就可以了。
让用户使用固定的文件夹就可以了。
#10
哈哈,在回答的同时,自己也在学习啊!
有文件夹也是可以处理的,建议你们使用listBox的disList()函数将指定目录下的所有文件都列出来,参数好象是使用55,这样连所有的子目录也可以得到,然后copy就可以了。我估计windows在copy目录的时候使用的也是每个文件copy的方法。
有文件夹也是可以处理的,建议你们使用listBox的disList()函数将指定目录下的所有文件都列出来,参数好象是使用55,这样连所有的子目录也可以得到,然后copy就可以了。我估计windows在copy目录的时候使用的也是每个文件copy的方法。
#11
to : pbworm(pb菜鸟)
我是考虑在连接数据库时就更新。要使用函数得到文件的修改时间呢。
我是考虑在连接数据库时就更新。要使用函数得到文件的修改时间呢。
#12
我没有做过,但我是这样考虑的。
如果每次都全部copy的话,如果文件比较多和大的话,速度上有一定的问题。其实大部分的更新和升级并不是全部的文件都重新修改了,而只是修改了部分的文件。这样的话,可以考虑在服务器上设置一个.txt或.ini文件,将所有修改了的文件的名称和路径放到里面。
这样当程序启动的时候,自动的读取这个文件,判断是否做个更新以及更新了什么文件,然后只copy更新了的文件就可以了。
如果每次都全部copy的话,如果文件比较多和大的话,速度上有一定的问题。其实大部分的更新和升级并不是全部的文件都重新修改了,而只是修改了部分的文件。这样的话,可以考虑在服务器上设置一个.txt或.ini文件,将所有修改了的文件的名称和路径放到里面。
这样当程序启动的时候,自动的读取这个文件,判断是否做个更新以及更新了什么文件,然后只copy更新了的文件就可以了。
#13
我就是这么做的
#14
谢谢pbworm(pb菜鸟)、fzymr(风中游牧人)。