当前位置: 代码迷 >> PB >> 小白救教调用api有关问题 关于复制文件的
  详细解决方案

小白救教调用api有关问题 关于复制文件的

热度:35   发布时间:2016-04-29 05:33:21.0
小白救教调用api问题 关于复制文件的
本帖最后由 godshome 于 2014-05-12 14:26:11 编辑
只要调用LZOpenFile就出现错误:
Error: error opening DLL library lzexpand for external function...后面是路径了,指向调用该函数的地方。即wf_copy 第8行

是不是要引用该DLL文件?把"lzexpand.dll"加上路径试过不行。
求解

因为是刚学PB,这是我的第一个实例,不想受此打击放弃。
实例是关于复制文件的。
这个是申明: 
Function long LZOpenFile(string FileName,ref ws_ofstruct FileStructure,uint style) Library "lzexpand.dll"
Function long CopyLZFile(uint SourceHandle,uint DestHandle) Library "lzexpand.dll"
Function long LZClose(uint FileHandle)  Library "lzexpand.dll"



这个是窗体内的函数wf_copy:
string	as_source
as_source=sle_1.text
string as_dest
as_dest=sle_2.text
long ll_SourceFileHandle, ll_DestFileHandle, ll_result
ws_ofstruct    lstr_SourceFileStructure, lstr_DestFileStructure
// 打 开 源 文 件
ll_SourceFileHandle = LzOpenFile ( as_source,lstr_SourceFileStructure, 0 )
IF ll_SourceFileHandle = -1 THEN
MessageBox ( " 程 序 错 误", " 无 法 打 开 文 件: " + as_source )
Return false
END IF
// 打 开 目 标 文 件
ll_DestFileHandle = LZOpenFile ( as_dest, lstr_DestFileStructure, 4096 )
IF ll_DestFileHandle = -1 THEN
MessageBox ( " 程 序 错 误", " 无 法 创 建 文 件: " + as_dest )
LZClose ( ll_SourceFileHandle )
Return false
END IF

// 拷 贝
ll_result = CopyLZFile ( ll_SourceFileHandle, ll_DestFileHandle )
IF ll_result <0 THEN
MessageBox (" 程 序 错 误"," 无 法 拷 贝 文 件: " + as_source + " to file: " + as_dest )
LZClose ( ll_SourceFileHandle ) 
LZClose ( ll_DestFileHandle ) 
Return false
END IF // 
//关 闭 文 件 
LZClose ( ll_SourceFileHandle )
LZClose ( ll_DestFileHandle ) 
Return true

------解决方案--------------------
把声明改为以下试试


Function long LZOpenFile(string FileName,ref ws_ofstruct FileStructure,uint style) Library "lzexpand.dll" alias for "LZOpenFile;Ansi"
  相关解决方案