DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: melqui
今日帖子: 23
在线用户: 17
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 psstudio (天下) ★☆☆☆☆ -
普通会员
2018/10/22 14:48:24
标题:
一段D7可以编译通过的代码在delphi 10.2.3上编译不通过,求大神指点~ 浏览:1418
加入我的收藏
楼主: 部分代码:
procedure TFileWatchThread.Execute;
var
  numBytes: DWORD;
  CompletionKey: DWORD;

  begin
  while not Terminated do
  begin
    GetQueuedCompletionStatus( FPCompletionPort^, numBytes, CompletionKey, FPOverlapped, INFINITE);

    if CompletionKey <> 0 then
    begin
      Synchronize(HandleEvent);
      FBytesWritten := 0;
      ZeroMemory(@FNotificationBuffer, SizeOf(FNotificationBuffer));
      ReadDirectoryChanges(FPDirectoryHandle^, @FNotificationBuffer,
        SizeOf(FNotificationBuffer), WatchSubTree, FNotifyFilter,
        @FBytesWritten, @FOverlapped, nil);
    end
    else
      Terminate;
  end;
end;

完整代码见附件,代码部分有点儿长,就没有全部贴出来。
~~~~~~~~~~
出错提示: [dcc32 Error] Unit1.pas(185): E2033 Types of actual and formal var parameters must be identical
用D7可直接编译没有问题,换成delphi 10.2.3编译就不行了。求大神带路。~
出错点就在 GetQueuedCompletionStatus( FPCompletionPort^, numBytes, CompletionKey, FPOverlapped, INFINITE); 这一句。。
此帖子包含附件:psstudio_20181022144824.rar 大小:17.8K
----------------------------------------------
-
作者:
男 wntee (wntee) ▲▲▲▲△ -
普通会员
2018/10/22 15:38:00
1楼: 典型的只会抄不会思考
----------------------------------------------
当前后左右都没有路时,命运一定是鼓励你向上飞了...
作者:
男 psstudio (天下) ★☆☆☆☆ -
普通会员
2018/10/22 15:38:46
1楼: 找到原因了,delphi 10.2.3 修改了这个函数定义:
function GetQueuedCompletionStatus(CompletionPort: THandle;
  var lpNumberOfBytesTransferred: DWORD; var lpCompletionKey: ULONG_PTR;
  var lpOverlapped: POverlapped; dwMilliseconds: DWORD): BOOL; stdcall;

所以出错的位置这样子修改:
GetQueuedCompletionStatus( FPCompletionPort^, numBytes, ULONG_PTR(CompletionKey), FPOverlapped, INFINITE);
就可以编译通过了。。
----------------------------------------------
-
作者:
男 bujin888 (bujin888) ★☆☆☆☆ -
普通会员
2018/10/22 19:47:55
2楼: 嗯 人家直接能找到原因 证明还是会思考的,现在论坛的学习交流氛围极差,有一些基础比较差的人 问一些小白问题,只会惹来很多人讽刺 嘲笑,就是没有人去好好的回答问题!既不给渔也不给鱼!
----------------------------------------------
http://www.ressss.com
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2018/10/22 19:57:53
3楼: 这就是基础中的基础。
自己能找到答案,说明楼主是两手准备。
但是论坛上,更多的是,自己从来不动脑子的。
人家的 脑子太高贵,动不得。
只好动你的。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 psstudio (天下) ★☆☆☆☆ -
普通会员
2018/10/22 21:46:40
4楼: 我也不完全是伸手党,全部自学,慢慢研究。只是希望DELPHI有更多人来学习,讨论。。 向楼上2位大神学习。。
----------------------------------------------
-
作者:
男 feiyanm (feiyanm) ▲▲▲▲▲ -
普通会员
2018/10/23 8:36:06
5楼: @bujin888,素质差的人太多了,你只能选择无视,或者同意他的一切观点,把他培养成大SB!我觉得我现在都在认真走第二条路,供君参考!
----------------------------------------------
Delphi威武!千秋万代,一统江湖!Delphi威武!千秋万代,一统江湖!Delphi威武!千秋万代,一统江湖!Delphi威武!千秋万代,一统江湖!Delphi威武!千秋万代,一统江湖!Delphi威武!千秋万代,一统江湖!Delphi威武!千秋万代,一统江湖!我去WC吐一会儿去!
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行74.21875毫秒 RSS