Delphi
jimzhao
这个作者很懒,什么都没留下…
展开
-
Delphi更改IDE默认操作路径
<br />在Dephi的快捷方式属性中,更改“起始位置”为想要的路径。原创 2010-09-06 23:56:00 · 1032 阅读 · 0 评论 -
Delphi6在IE8中调试ActiveX
最近在为公司BS产品做一个工作流可视化设计插件,其中用到一个第三方组件有内存问题。问题很奇怪,在遨游2中没有问题,而在IE8中,关闭IE8后,IE进程却没有关闭。于是乎,上断点,可是更奇怪的事情发生了,遨游2中断点很正常,IE8中断点却不起作用!记得自己以前用IE调试过Activex,没问题啊,这是怎么回事?难道以前用的不是IE8?!怎么办?凉拌呗。百度之,Google之,断断续续折腾了几天,断点上那鲜红的箭头终于羞答答地登场啦! 这里把解决的办法总结如下: 1、Run Pa原创 2010-09-24 23:55:00 · 1418 阅读 · 0 评论 -
函数Length()在Delphi2010与Delphi6下返回值不同
昨天夜里,写一个小程序时,发现函数Length()在Delphi2010与Delphi6下返回值不同。Length('Delphi语言'):Delphi6 => 6Delphi2010 => 8。一看很明显是对汉字的长度计数是不一样的。原来Delphi2010是unicode编码的,一个汉字长度算1。平时工作用的是Delphi6,在家偶尔用用2010,怎么保持兼容呢?呵呵,有办法,字符串类型定义成AnsiString即可,不能用String了。原创 2011-02-25 11:49:00 · 3009 阅读 · 0 评论 -
资源重复错误
<br />现象:WARNING. Duplicate resource(s)编译错误,并提示是某窗体文件dfm的问题。<br />原因:该窗体单元中引用的某单元文件中引用了一个同名窗体单元,比如:出错的a.dfm,那么在a.pas中引用了b.pas,而b.pas引用了其他路径的另一个a.pas。<br />解决:如果是窗体重名的,不用说改名字先;如果是程序逻辑问题,那就自己看着办吧。原创 2011-02-16 16:08:00 · 1014 阅读 · 0 评论 -
奇怪的“无法为更新定位行。一些值可能已在最后一次读取后已更改”
客户说程序报错——“无法为更新定位行。一些值可能已在最后一次读取后已更改”。反复试之无法再现。再问客户,说用的是Oracle数据库,一试,果不其然,报错。查代码,发现原来是这个样子滴:FDataSet.Edit;FDataSet.FieldValues[FMenu.cItemid] := Text;FDataSet.Post;当第一次Text=''时,post没有异常,紧接着第二次Text''时,post报错!!!这是为神马呢?原来啊,oracle库默认的''和NULL是一回事,于是第一次Post后,Dat原创 2011-02-23 17:12:00 · 3351 阅读 · 0 评论 -
Delphi使用VB开发的ActiveX控件
背景:某客户使用威尔考勤机,需要从考勤机读取打卡数据,厂家提供了二次开发接口文件,是一个ActiveX控件。操作:按以往的方法,在Delphi6中导入改ActiveX控件,发现生成的***_TLB.pas中没有对应的类。解决:通过查找资料,发现对于此类ActiveX,导入时需要设置一些参数。 设置步骤:菜单Tool=>Enveronment Options=>Type Library中,选中Ignore special CoClass Flags When Importing,选中ca原创 2011-05-06 12:34:00 · 851 阅读 · 0 评论 -
Delphi自带四舍五入函数
用delphi的同学大多数都知道Round()函数不是四舍五入,于是乎大家想出各种办法写自己的四舍五入函数。其实Delphi本身自带了四舍五入函数,它就是Math.pas中的SimpleRoundTo()。本人记性不好,用的时候总想不起来这个函数的名字,刚才又是废了半天劲才找到这原创 2011-07-12 11:46:17 · 1625 阅读 · 0 评论 -
循环陷阱
var i,j: Word;begin j := 0; for i :=0 to j -1 do ShowMessage('无穷无尽,没有尽头。。。');end;原创 2011-08-30 18:00:12 · 579 阅读 · 0 评论