Delphi2010 DataSnap 学习(二)
摘要:承上一篇.我们来做个简单的数据库连接测试.在上个学习的基础上,我们打开Server的ServerMethodUnit1模块,在设计界面放上三个控件:SQLConnection1: TSQLConnection;SQLDataSet1: TSQLDataSet;DataSetProvider1: TDataSetProvider;c注意:1、如果使用sa,如果没有密码的话会连接失败,需要建立一个带密...
阅读全文
posted @
2010-01-11 15:19
garfieldtom
阅读(1937)
推荐(1) 编辑
Delphi2010 DataSnap 学习(一)
摘要:DataSnap到了Delphi2010有了很大的变化,已经可以完全抛弃DCOM之类的东西了,在以前版本中建立一个DataSnap,需要使用DCOMConnection或者SockConnection来连接到服务器,而在Delphi2010中提供了一个新的连接组件:TDSProviderConnection,可以更方便地来连接服务器.先来学习一个简单的DataSnap:新建一个工程,在Delphi...
阅读全文
posted @
2010-01-11 15:02
garfieldtom
阅读(1960)
推荐(1) 编辑
根据拼音检索数据的方法
摘要:编写数据库应用系统有时会用到根据汉字拼音来快速检索数据,网络上有汉字生成拼音的方法:代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--functionGetPYIndexChar(hzchar:Ansistring):char;begincaseW...
阅读全文
posted @
2010-01-02 06:57
garfieldtom
阅读(944)
推荐(0) 编辑
Indy接收邮件可能发生range check error错误的修正
摘要:使用D2010,接收邮件时有时会发生range check error的错误,而foxmail则可以正常接收,估计是indy本身的bug,追踪了一下,发现错误出现在IdCoder3to4.pas中的第277行:Result[LOutPos] := (FDecodeTable[LInBytes[0]] shl 2) or ((FDecodeTable[LInBytes[1]] shr 4) and ...
阅读全文
posted @
2009-12-26 04:28
garfieldtom
阅读(662)
推荐(0) 编辑
Delphi的泛型学习
摘要:delphicode的博客http://www.cnblogs.com/delphicode/archive/2009/12/09/1620527.html#1721139中写道:Delphi IIF [代码]注:Delphi 2009\2010 支持泛型,其它版本不支持。真的很方便!不过好像不能直接这样定义函数,只能定义在class/record/interface中,我写了个测试,可以这样来使...
阅读全文
posted @
2009-12-25 14:27
garfieldtom
阅读(522)
推荐(0) 编辑
EurekaLog发送邮件问题修正
摘要:使用EurekaLog将错误以邮件的形式发送时,发现使用SMTP Client方式发送邮件时不能成功,到网上搜索了一下,有说是邮件8bit mime编码格式的问题(我上个博客中提到过),也有说是多发送了个REST(RSET)指令问题,我测试了一下,发现可能是旧版本中是这种问题,我现在使用的是EurekaLog 6.0.21 R2 Enterprise(D2010),仔细研究发送失败错误,发现是发送...
阅读全文
posted @
2009-12-14 12:36
garfieldtom
阅读(750)
推荐(0) 编辑
EurekaLog的动态打开和关闭
摘要:EurekaLog是非常强大的调试及错误报告工具,Catches of every EXCEPTION!!!Catches of every EXCEPTION!!!还有更多......它可以将错误以邮件等形式发送给开发者,并且报告非常详细:使用也非常简单,只需要简单地激活/关闭就可以了,安装后有个详细的flash介绍,非常详细,不过要注意,邮件发送好像只支持8bit mime格式,有点受限,可能...
阅读全文
posted @
2009-12-12 17:33
garfieldtom
阅读(925)
推荐(0) 编辑
关于Ehlib5中的DBGridEh使用问题
摘要:升级到了ehlib5,发现dbgrideh有个小问题:使用一个dataset结果集,比如adodataset,然后用dbgrideh来显示这个结果。如果adodataset的filtered为false,那么可以将dbgrideh的垂直滚动条拉到底部(ehlib5甚至还可以平滑滚动,不错);如果adodataset的filtered为Ture,问题来了,那么不可以将dbgrideh的垂直滚动条拉到...
阅读全文
posted @
2009-12-11 16:26
garfieldtom
阅读(846)
推荐(0) 编辑
Delphi取Ajax网页内容
摘要:在程序中使用TWebbrowser控件或者Indy中控件连接采用Ajax技术的网页,获得的网页源码中并不会有客户端更新的内容。在IE浏览器中的查看源文件同理也是看不到Ajax更新的内容。通过插件可以看到Ajax更新后的内容。问题是在程序中怎样来获得完整的网页内容?如果有Ajax更新,Webbrowser的DocumentComplete事件也不会被触发。其实完整的网页内容并不是不可以获得,使用一个...
阅读全文
posted @
2009-12-09 13:21
garfieldtom
阅读(2434)
推荐(0) 编辑
Delphi的内存管理及内存泄露问题
摘要:这几天因为一个程序长时间运行出现比较严重的内存泄露问题,开始关注了一下内存管理方面的东西,以前也注意内存管理,创建了对象及时释放,但总有忘了处理的情况。在Delphi中没有自动回收机制,所以一定要及时释放使用的内存,虽然有时小的内存泄露并不会造成太大的问题。Delphi中检测内存泄露可以使用开源的FastMM(http://sourceforge.net/projects/fastmm/),使用很...
阅读全文
posted @
2009-12-09 05:59
garfieldtom
阅读(4159)
推荐(0) 编辑
delphi中的命名空间
摘要:在java中有包的概念,.net中有命名空间,Delphi(好像是从9之后)中也有类似的概念。一般情况,我们这样命名一个单元:unit unit1;而我们也可以这样来命名一个单元:unit myunit.unit1;同样,可以命名另一个单元:unit myunit.unit2;当然,我们可以写的更长:unit myunit.lib.hello.unit1;附官方的说明:Using Namespac...
阅读全文
posted @
2009-12-04 15:40
garfieldtom
阅读(1739)
推荐(0) 编辑
Delphi2010中保存UTF8/Unicode编码文件的问题
摘要:使用Delphi2010中的TStrings或Memo的SaveToFile方法保存UTF8/Unicode编码的字符串时,保存后丢失编码信息,仔细查看,原来在保存时增加了编码设置:aStrings.SaveToFile(aFileName,TEncoding.Unicode);//可以是TEncoding.UTF8,根据需要另:unicode文本文件:头两个字符分别是FF FE(16进制) ut...
阅读全文
posted @
2009-11-27 06:30
garfieldtom
阅读(1005)
推荐(0) 编辑
Delphi中对URL进行编码和解码
摘要:Delphi中处理URL时,有时会遇到编码问题,比如文件名如果含有空格,则空格会被%20代替。如果不进行转换,则会出现问题。在网上找到一段转换代码(Delphi没有自带的?),可以顺利进行//delphi 最快速编码 URLDecode URLEncodefunction URLDecode(con...
阅读全文
posted @
2009-11-23 08:48
garfieldtom
阅读(3173)
推荐(0) 编辑
关于Delphi2010使用Indy发送邮件乱码问题的解决
摘要:原来的程序由Delphi2007升级到Delphi2010,没想到原来收发邮件正常的系统在发送中文邮件时发生了乱码,只得重新寻找解决办法,后来发现,这样构建消息可以避免乱码问题(不知道有没有其他解决办法):with IdMessage1 do begin Clear; From.Text := 'XXX@126.com'; Recipients.EMailAddresses:= 'v@126.co...
阅读全文
posted @
2009-11-21 20:13
garfieldtom
阅读(1906)
推荐(0) 编辑
Delphi2010使用TImage打开jpeg图片错误的处理
摘要:使用Delphi2010,在窗体上放置一个TImage控件,然后在设计时加载jpg图片时没有问题,可如果在代码中,比如:imgPic.Picture.LoadFromFile(vFileName);则会提示Unknown picture file extension(.jpg)错误,很奇怪,后来发现需要在单元文件中需要use jpeg单元。加上jpeg单元后,问题解决.
阅读全文
posted @
2009-11-21 16:49
garfieldtom
阅读(551)
推荐(0) 编辑
升级Delphi2010时text字段问题
摘要:刚把程序从Delphi2007升级到2010,很高兴,可很快就发现一个问题,某些数据无法全部显示,仔细一看,是SQL Server中使用text字段的数据显示不完整。测试了一下,在Delphi2007中可以正常显示,而在Delphi2010中则显示不全,程序完全一样。比如,保存内容为“文件”,在D2007中完整显示,而在D2010中则显示为“文”,少...
阅读全文
posted @
2009-11-20 17:15
garfieldtom
阅读(455)
推荐(0) 编辑
支持Delphi2009/2010的DES加密单元
摘要:原来在D7/D2007下使用过一个DES的加密单元,但到了D2009/D2010后因为String被映射为unicodestring,不再是AnsiString,所以加密解密字符串失去了作用。经过修改,可以正确使用了,主要修改其中的string,显示指定为AnsiString,char,显示指定为AnsiChar.unit DESCrypt;interfaceusesSysUtils,Classe...
阅读全文
posted @
2009-11-12 15:27
garfieldtom
阅读(1029)
推荐(0) 编辑
Indy10收发Hotmail邮件
摘要:hotmail开放了pop3,可以使用客户端工具收取邮件了。POP 服务器: pop3.live.com (端口 995)需要 POP SSL?: 是的用户名: Windows Live ID, 比如:livesino@hotmail.com密码: 对应 Windows Live ID 的密码SMTP 服务器: smtp.live.com (端口 25)需要身份验证?: 是的需要 TLS/SSL?...
阅读全文
posted @
2009-11-06 06:06
garfieldtom
阅读(1283)
推荐(0) 编辑
Indy发送邮件被kbas退掉
摘要:用indy开发了发送邮件程序,通过126,sina等发送邮件可以发送出去,而通过tom,163则被退回,显示被 kbas系统退回.后来通过观察Foxmail的通讯过程,区别在foxmail发送EHLO指令时用的是一个名字,而indy缺少使用的是邮箱名字.通过直接使用Socket连接发送邮件测试,将EHLO改为名字后发送成功.研究indy源码,发现indy中的smtp控件的HelloName属性如果...
阅读全文
posted @
2009-08-25 10:17
garfieldtom
阅读(465)
推荐(0) 编辑
Delphi中的数据库插件
摘要:type TfrmMain = class(TForm) …… private: procedure LoadPlugin(sr: TSearchRec); procedure LoadPlugins; procedure PlugInClick(Sender: TObject); public { Public declarations } end; type TPl...
阅读全文
posted @
2009-06-05 09:47
garfieldtom
阅读(572)
推荐(0) 编辑