![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
老blog中的文章
文章平均质量分 58
jalphi
这个作者很懒,什么都没留下…
展开
-
终于配好mantis了
n久前配置过一次,好像花了半个小时,这次花了5个小时,郁闷阿. 安装mysql,安装php,安装apache,其间遇到问题如下:1.apache加载不了php5apache2.dll,报错,最后折腾了超长时间,最后妥协了,用泰国人弄的apache+php+mysql的appserv自动安装包,结果一切都正常了.看看它的httpd.conf中一样是LoadModule php5_转载 2006-04-24 21:30:00 · 2125 阅读 · 0 评论 -
installShield的一个问题,访问外部dll的两个问题,msiexec被病毒修改的问题
[installShield X Express ]问题描述:简单的进行了一个安装文件的制作后,build的时候总是出现ID_STRING1没有赋值,但是不能为nullable的error提示,虽然能形成安装文件,但是该文件执行时并不正常.解决过程:project->export string Table 生成了一个文本文件,查看后发现ID_STRING1没有值,但是并转载 2006-04-24 21:37:00 · 2379 阅读 · 0 评论 -
delphi运行时设置adoConnection(使用设置窗口)
uses AdoConEd; Connection: TADOConnection; edtConnStr: TRzEdit; procedure TFrmMain.btnConfigClick( Sender: TObject ); begin if Connection.Connected then Connection.Close; Connection.Con转载 2006-04-24 21:38:00 · 1485 阅读 · 0 评论 -
使用Apache发布delphi开发的isapi类型的webservice
delphi方面的就不说了,有了向导,想不编译成功都是很难的.apache方面,修改httpd.conf,然后重启apache就ok了,在httpd.conf末尾添加isapi支持修改如下:AddHandler isapi-isa .dllAlias /ws "C:/Program Files/Borland/Delphi7/Projects/testApacheDll" Op转载 2006-04-24 21:38:00 · 2408 阅读 · 0 评论 -
webservice调用com+ 的问题
com+安装在win2000 server上,webservice(isapi类型)安装在另一台win2000 server上,基于iis,访问端口7123客户端安装在win2000 professional上我在com+机器上导出客户端代理,安装在webService机器上,能够正常访问到wsdl,但是调用其方法时,exception:拒绝访问郁闷.我又把webService转载 2006-04-24 21:39:00 · 1145 阅读 · 0 评论 -
发布了一个几行代码的作品,不过挺实用的:),有关fastreport的
链接在这里,代码非常之简单,http://www.delphibox.com/article.asp?articleid=2322下面是简介在资源管理器中直接打开.frf文件进行编辑的工具,双击.frf文件,window会问"打开方式",选择ReportDesigner.exe,并选中"以后都用这个程序打开",以后就直接双击frf文件,会自动显示在delphi ide里一样的界面,转载 2006-04-24 21:39:00 · 898 阅读 · 0 评论 -
tips:fastreport打印前切换打印机报异常,如何解决
此问题困扰了我n久,同样的执行文件,在不同的执行环境下一个正常,一个不正常.具体现象就是: 打印预览后,点击上访打印按钮,出现打印机选择对话框,如果此时切换成非默认打印机,则确定后,报异常"selected printer is not valid",最终解决 在在FR_Prntr.pas单元中,有//{$DEFINE PRN_RESET}将其反注释转载 2006-04-24 21:39:00 · 1895 阅读 · 1 评论 -
bpl插件系统开发(2)
插件规范-----------插件必须实现一个接口,该接口通过GetObject,SetObject方法让容器和插件能够交互数据.IPlugin = interface [{48BF4000-B028-4B57-9955-B1A8305DA394}] function GetRunResult: TObject; //用于向容器返回执行Execut转载 2006-04-24 21:40:00 · 913 阅读 · 0 评论 -
bpl插件系统开发(3)
上篇说了一些理论的东西,现在总结一下,我们的程序发布时应该想这样子: 主程序 一个完全由接口驱动的程序,它调用各种接口完成软件的功能.(当然并不是绝对的,如果你的某个功能并不需要外部来提供的化) 插件s(注意,加了s复数形式) 放在同一目录下,一个完整的插件应该有两个同名文件,一个是含有实现某接口的bpl,一个是描述该插件功能的xm转载 2006-04-24 21:41:00 · 803 阅读 · 0 评论 -
bpl插件系统开发(4)
我们可以想像这样一个系统,与mvc的思想比较相同,controller负责整个系统的调度,当用户执行了某个action后,controller将其处理后用某个特定的view来呈现给用结果.这就是mvc先看看这个图这图是我用Together6.1画的,关心的设计思想,而不是代码本省,而且together本身也不支持pascal语法生成(不知道有没有插件)其中的IMisDriver转载 2006-04-24 21:44:00 · 629 阅读 · 0 评论 -
bpl插件系统开发(5)
在这样的构想下,我们来做一个demos,我们来定义如下的被IMisDriver驱动的接口,加入现在能想到的简单的应用,我们要作的工作如下 定义被驱动的接口 撰写IMisDriver的一个实现,用它来驱动各个接口,IMisDriver通过调用TPluginLoader的获得接口实例. 撰写每个接口的实现,并生成多个bpl 用TPluginLo转载 2006-04-24 21:48:00 · 689 阅读 · 1 评论 -
Midas攻略
用midas已经很久了,昨天看了一些midas的源码,有点心得,下面写一下如何开发一个请求响应模式的midas系统系统的结构 client端的ClientDataset直接连接Server端的Provider,可以构成最简单的Midas系统,但是这种系统的缺点是很明显的,1.需要在Client上注册appserver,就算你发现了可以写注册表,解决这个问题,仍然增加了部署转载 2006-04-24 21:36:00 · 1147 阅读 · 0 评论 -
Classes单元中一段很有趣的代码
TStream 使用了下面的代码,强制子类必须implement两个seek方法中至少一个 首先说明TStream有两个seek方法function Seek(Offset: Longint; Origin: Word): Longint; overload; virtual; //叫它seek1function Seek(const Offset: Int64; Origin:转载 2006-04-24 21:36:00 · 630 阅读 · 0 评论 -
Delphi开发WebService中的2个问题的解决及开发模式
1.无法调用WebService的任何方法 解决方式:在方法声明后一定要添加stdcall;粗心造成的问题!!!2.Webservice不能在iis中发布,时而出现数据包不是一个有效的soap封包exception.缺少xxx云云(这也是小仓碰到的问题) 将iis中webservice虚拟目录属性中的保护级别由缺省的"中"改为"低",至于深层的原因我没有去探究,bs自己一个转载 2006-04-24 21:31:00 · 1449 阅读 · 0 评论 -
这两天的收获
1.在webService端只要raise ERemotableException,就可以让客户端收到该异常,2.定义自己的类并且register,可以让webService回传对象.当然现在我定义的类的成员都是delphi实现soap2pascal和pascal2soap的类型,形如javaBean的,我叫他depo.(delphi plain object)3.这篇文章说可以调试i转载 2006-04-24 21:35:00 · 583 阅读 · 0 评论 -
bpl插件系统开发(1)
半路出家的delphier一如我,对于win32api式的调用有着近乎厌恶的抵触情绪,我很早以前看c++的教程时看到lptrXXXXX的变量就头大,以至于到现在都不会用c++,都不曾写成功过那怕一个hello world程序,所以对于dll式的导出函数后面加stdcall使用右到左的参数调用方式,总觉得没有delphi的美感.再加上看到了许多bpl可以导出类,而dll很麻烦的文章,更是坚转载 2006-04-24 21:40:00 · 1243 阅读 · 0 评论 -
tips:通过interface的实例得到该接口的字符串名称
如果使用{$M+}参数来定义接口,那么程序将会为该接口生成rtti信息,例如{$M+} Isome = interface function GeStr: string; end; {$M-} 接下来,我们可以访问该接口的信息了uses TypInfo,IntfInfo;procedure TForm1.Button1Click( Sender:转载 2006-04-24 21:42:00 · 688 阅读 · 0 评论 -
一个简单Tracer类,用来为应用写入跟踪
===================类的代码=========================={*******************************************************} { } { CodeMachine转载 2006-04-24 21:32:00 · 600 阅读 · 0 评论 -
这样释放有内存泄漏吗?
{*******************************************************} { } { Utils } {转载 2006-04-24 21:33:00 · 581 阅读 · 0 评论 -
序列化FastReport
原本在开发一个报表插件,因为需要远程传输,因此需要序列化报表,序列化FastReport有两种方式, 1.仅序列化数据,由客户端接受到数据,并呈现报表,这种方式需要在客户端存储报表格式文件xxx.Frf, 2.序列化FastReport的结果集(即,得到数据后可以存成的frp文件),这样frf文件不需要在客户端存在.我倾向于采用这种方式,毕竟客户端越轻越好. 简单打开一个表转载 2006-04-24 21:34:00 · 565 阅读 · 0 评论 -
操作TStream的小心得
也是原来很少操作流的恶果. 我在将一个流的数据载入到FastReport的时候,我临时用这样的代码来写(aStream as TMemoryStream).SaveToFile(tmp); LoadPreparedReport(tmp); ShowPreparedReport; 它可以非常正确的执行,在其他的问题解决之后,我尝试不读写硬盘,而LoadPrepar转载 2006-04-24 21:34:00 · 647 阅读 · 0 评论 -
有人发帖说你写数据库程序的时候,有用面向对象的思想嘛?
每个实体数据我们都需要给用户提供查询界面,于是我们有很多的TfrmFind1,TfrmFind2,...TfrmFindx;里面充斥着if edt1.Text .......if edtx.Text 我写了这样一个父类,.dfm就不带了,很简单的TfrmFind.Pas,其中的TServiceParams就是TStringList,声明在uServiceDefine.uni转载 2006-04-24 21:35:00 · 610 阅读 · 0 评论 -
DB2在线增量备份和恢复
为什么要进行在线增量备份?在线意味者备份的时候,允许其他的连接,而不用停掉数据库增量意味着,不需要每次备份一个超大的数据库.同时意味着你可以将数据库恢复到崩溃前的状态,而不是你最后一次备份时的状态,最大可能的减少数据损失.设置数据库以支持在线增量备份db2在线增量备份需要采用归档记录类型,而不是循环记录类型,而db2创建的数据库缺省采用循环记录类型,要设置归档记录类型有两种转载 2006-04-26 18:45:00 · 4217 阅读 · 0 评论