摘要:
在delphi7中调试com+
刘晓明(cipher)收集整理
开发com+应用系统最令人头痛的问题便是如何调试 com+组件了。由于com+是执行在com+的执行环境中,因此delphi 的程序员无法像delphi的分布式多层应用系统一样可以直接在 delphi 的ide 中设定应用程序服务器的断点来调试。
事实上, delphi 仍然可以在 delphi 的集成开发环......
摘要:
一、共享==免费?
随着internet大行其道,“共享+注册”模式日渐成为程序员发布自己软件的主要手段,但是随之而来的破解手段也越来越高明。如何保护自己的劳动成果不被暴力破解或修改?用md5摘要值验证是一个很常用的方法。
md5作为一个公开算法,实现的方法很多,比如开源软件、windows自带的api等,c++ builder和delphi中集成的indy里面也有现成的md5控件。用api......
在Delphi中如何维护COM+的状态信息
在delphi中如何维护com+的状态信息
问题是这样开始的:我需要写一个com+,用来连接不同的数据库.有的朋友可能会说,应该为每个数据库建立一个com+,但是在我的系统里不能这样.我们在做一个教育辅助系统,用户是学校(当然包括学校里的老师.学生.家长),我们为每个学校建一个数据库,这些数据库的结构是相同.当然我们还有管理数据库,用于协调各数据库的关系.每增加一个学校用户,我们就激活一个新的数据库给客户使用,也就是说,我们的数据库的个数是不断增加的,而我们的客户端只有一个,我们不会为每个学校开发不同的客户端,我们的com+也只有一组,而不是为每个数据库开发一组.所以我必须在com+中根据用户的身份让它去连接不同的数据库. 【程序编程相关:
Delphi图象截取编程示例(6)
】
刘晓明(cipherliu) 【推荐阅读:
Delphi图象截取编程示例(8)
】
在com+的类中增加一个私有成员dbname:string,用于保存要连接的数据库名称.还应该提供这样一个方法来设置它的值,我开始是这样写的 【扩展信息:
Delphi图象截取编程示例(2)
】
很显然,这个com+应当提供一个方法,让其调用者(可以是客户端应用程序,也可以是其它的中间件)去选择连接的数据库,在实际中我们是根据用户的id在管理库中查到它的数据库名,然后连接用户数据库,在这里,为了简化问题,我们认为调用者已经知道了数据库的名字,而直接要求调用这个数据库.
procedure tmtsdbconn.connectto(sdbname:string);
begin
try
dbname:=sdbname;
setcomplete;
except
setabort;
end;
end;
然后在其中放入adoconnection,adodataset,与datasetprovider控件,分别取名为adoc,adods,dsp.设置好它们之间的连接关系,把adoc的连接字符串设为连接数据库“db1”,这是默认值,然后在adoc的beforeconnect事件中:
adoc.connectionstring:=connectstringa+initial catalog=+dbname+;+connectstringc;
这里的connectstringa与connectstringc是为了动态构建连接字符串,预先设置好的字符串常量,如下:
const...
下一页 摘要:
开发中有时需要在流中查找某个字串,这些字串有可能是ascii表后半部分或混杂.但是网上提供的例程效果不佳而且代码冗长.
后来自己抽个时间写了一个,代码极少,效率很高.仅供各位参考:
function scanstream(t:tstream;s:string):integer;
var i,j:integer;
p:pchar;
begin
getmem(......