随笔分类 - Lazarus
摘要:背景:1、使用lnet做了WinCE的客户端以及Win32的服务器端,WinCE在休眠之后会因为lnet的通讯异常导致程序崩溃而退出,并且这种异常无法捕捉、处理。 解决办法: 1、如果不保持lnet的联机状态,的确系统不会异常、退出,但每次都需要连接(需有有延时之后才能发消息),效率很低。2、有必要做一个‘心跳’监控,在使用lnet通讯之前确定客户端是否已与服务器断开,如断开则提示重新连接lnet3、Indy等包含icmp组件支持ping功能,但实践证明indy不支持WinCE。4、此后分别查到icmp.dll 、iphlpapi.dll等组件可以实现ping的功能,经实践icmp、iphlp
阅读全文
摘要:Pascal下 DataSet中的内容是非离线的,就是说需要与数据库保持联机,这样很不好,会弄出很多连接出来,不喜欢。MemDataSet,是可以保存离线内容的,于是就有了这个方法。function TformMain.DataSet2MDataSet(dataSet:TDataSet):TMemDataSet;var i:Integer; strColumn,strType,strSize,strValue:string; mDataset:TMemDataSet;begin //初始化 mDataSet:= TMemDataset.Create(nil); //字段 with dataS.
阅读全文
摘要:说白了,我想要一个纯正的标题栏,如果用户想退出呢,必须点我提供的按钮才能退出。.NET下这个是可以实现的。而Lazarus呢?官方网站上说,也可以实现。http://wiki.lazarus.freepascal.org/Windows_CE_Development_Notes#The_Title_.22OK.22_and_.22X.22_buttons简化点说:引用 WinCEInt,FormCreate中添加 WinCEWidgetset.WinCETitlePolicy := tpOKButtonOnlyOnDialogs;
阅读全文
摘要:如题,所以考虑并发等问题需要在使用线程并与数据库交互的话,建议考虑其它模式,从架构或其它方面调整。我已取消多线程模式改用 Application.QueueAsyncCall替换。Lazarus 资料并不多,如果遇到问题建议多上官网查查原始资料。
阅读全文
摘要:背景:1、很多情况下我们的终端与服务器是分离的,并且操作系统也可能会存在很大的不同。2、近些年火爆的WebService技术和SaaS等概念也让我们的思想得以解放。3、Lazarus是一款可以跨平台开发的工具,在精神上基本满足了我们Once Code愿望。4、但Lazarus还存在很多的问题,即使原生的类、函数、过程也还会报错。问题:1、我需要做一个三层架构,实现WinCE(或Linux)终端进行数据采集处理。2、涉及到跨网等情况不可能采用直连数据库的方式,而Lazarus对WebService又是一团糟。3、我打算回到原始状态,建立三层架构(客户端、服务器、数据库)形式,客户端和服务器之间以
阅读全文
摘要:背景:组件自带示例是单线程的,显然不适合在实际项目中应用。 解决办法:改成多线程的呗。共享一下,新手上路,代码写的不好,大家不要见笑。附件如下:tcpudp.rar
阅读全文
摘要:背景: 1、原有C#开发的WinCE系统+WebService; 2、客户说WinCE上的终端程序运行速度慢,我也说慢; 3、希望改造一个WinCE上的终端程序,因为熟悉Delphi所以Lazarus; 4、Lazarus导入的WebService代理,我看不明白,还涉及到数据类型转换神马的,决定放弃WebService; 5、打算采用lNet写个服务器,接收数据来处理和数据库之间的交互。----------------------------------------我是分割线-----------------------------------------解决思路: 1、Lazarus 安装
阅读全文

浙公网安备 33010602011771号