同时引用shellapi和windows单元为什么会出错?(50分)

  • 主题发起人 主题发起人 tsh2005
  • 开始时间 开始时间
T

tsh2005

Unregistered / Unconfirmed
GUEST, unregistred user!
同时引用shellapi和windows单元,会报错,说有一个变量有两个类型,如:<br>var<br> sr:TSearchRec;<br><br>报错信息:<br>incompatible type:'Cardinal' and 'TSearchRec'<br>这个是怎么回事啊?怎么解决?
 
你把代码全贴出来看一下, 应该是变量赋值时类型不一致
 
类型不符,<br>看看出错的句子
 
procedure UpLoadFiles(CurrentDir:string;FtpDir: String;ftpsvr:Tidftp);<br>var<br> &nbsp;i:integer;<br> &nbsp;strname:string;<br> &nbsp;sr:TSearchRec;<br>begin<br> &nbsp;chdir(CurrentDir);<br> &nbsp;if findfirst('*',faArchive,sr)=0 then<br> &nbsp;begin<br> &nbsp; &nbsp;repeat<br> &nbsp; &nbsp;try<br> &nbsp; &nbsp; &nbsp;ftpsvr.Put(sr.Name,sr.Name);<br> &nbsp; &nbsp;except<br> &nbsp; &nbsp;end;<br> &nbsp; &nbsp;until findnext(sr)&lt;&gt;0;<br> &nbsp;end;<br> &nbsp;FindClose(sr);<br>end;
 
这跟你引用那二个单元没关系吧?TSearchRec 类型是SysUtils下定义的.<br>Cardinal是个无符号32位整型,TSearchRec是个记录,赋值不兼容的问题 <br>TSearchRec = record<br> &nbsp;Time: Integer;<br> &nbsp;Size: Integer;<br> &nbsp;Attr: Integer;<br> &nbsp;Name: TFileName;<br> &nbsp;ExcludeAttr: Integer;<br> &nbsp;FindHandle: THandle;<br> &nbsp;FindData: TWin32FindData;<br>end;
 
在没有引用windows单元时,完全没有问题,可是引用了WINDOWS后就报错了!
 
我知道啊!但是就是会报错啊!不知道为什么?
 
把 uses 中的 shellapi 和 windows 掉换一下位置即可。
 
Tidftp不知什么如何定义<br>可以看一下ftpsvr.Put函数
 
谢谢各位了,现在没有问题了,我把WINDOWS单用引用放最后就会报错,放最前面就没有了!
 
接受答案了.
 

Similar threads

后退
顶部