当前位置: 首页 > article >正文

Delphi控件SPComm改造为Lazarus版本的问题

有一Delphi串口通信控件SPComm,在D下很好使,本人想把它改造为Lazarus版本,而就在控件的Create和Destroy里面卡壳了,在构造函数里有一段代码:

if not (csDesigning in ComponentState) then
        FHWnd := AllocateHWnd(CommWndProc); 


这是一个消息的传递的语句,把串口的消息传递到创建的一个不可视的窗体中处理,在Lazarus里编译安装包,没问题,但是使用时,一创建就出错,查看了

一下代码,发现是AllocateHWnd的引用不一样,在D下:调用的是

function Forms.AllocateHWnd(Method: TWndMethod): HWND;
begin
{$IFDEF LINUX}
  Result := WinUtils.AllocateHWnd(Method);
{$ENDIF}
{$IFDEF MSWINDOWS}
  Result := Classes.AllocateHWnd(Method);
{$ENDIF}
end;


而在Lazarus下,变成调用了

function Classes.AllocateHWnd(Method: TWndMethod): HWND;
  begin
    { dummy }
    runerror(217);
    Result:=0;
  end;


 上BD搜了一下,发现AllocateHWnd应该调用WidGetSet.AllocateHWnd函数才行,还是因为自已对Lazarus不熟悉,经过改造,可以正常发送接收数据;

http://www.lryc.cn/news/2418187.html

相关文章:

  • display:block的作用
  • web前端——给某网站移动版主页的体育板块进行布局设计
  • 目前数字人经济大火,但数字人价格成本昂贵,那么数字人免开会员怎么无限时长制作,数字人怎么批量自动生成视频源码开发技术
  • deepnode处理过的图片_微信图文排版用什么软件?文章图片大小不一样排版不齐怎么办?...
  • Hive sql 中 over 总结
  • 内部错误 (com.intellij.util.io.PersistentEnumeratorBase$VersionUpdatedException):
  • MBTI职业性格测试小程序
  • spring-boot-starter-actuator访问/actuator/info报404错误
  • 《GhostXP_SP2电脑公司特别版_8.0》
  • win7 梦幻桌面下载地址
  • 【ComfyUI】爽玩必备!6大插件汇总推荐
  • python用于人工智能的例子,python人工智能有趣例子
  • Installshield2008教程
  • Linux和PHP 开发参考消息 php博文+Linux镜像+http服务器+存储技术+框架+视频+好书+通信...
  • Rootkit
  • 在 ubuntu10.04下 载 android源码 步骤
  • E购通的商城系统
  • nutch 【配置与运行】
  • iptables端口转发配置实现
  • 分享88个搜索链接PHP源码,总有一款适合你
  • SUSE Studio 的用户可以透过 SUSE Gallery 分享做好的 Linux appliance
  • Linux 准确延时
  • 魔域富甲天下mysql打不开_《魔域》魔域3.2无敌版之富甲天下心得
  • 属兔的人今日运势-360星座网_【十二生肖明日运势查询】12月11日
  • BEV感知:BEV开山之作LSS(lift,splat,shoot)原理代码串讲
  • JAVA 异常Exception讲解
  • 一张图解释TCP和UDP有啥区别,太精辟了!
  • B 站出面回应源码泄露门事件!裁员报复还是反抗 996?
  • 区块链白皮书(2023年)
  • 【并发编程】--- interrupt、interrupted和isInterrupted使用详解