摘要:只针对2000以上系统,9x的就别问我了,4年没搞了:) 一般有4种方法: 1)dll挂靠方法 程序改写为dll结构,挂靠explorer.exe上运行 好处:没进程实体,普通进程查看无效 缺点:可以通过代码叫explorer.exe unload你的dll,呵呵,还有explorer出错时,会重新启用,那个时候需要重新挂靠你的dll 改进:用debug权限挂靠winlogon.exe,哈哈,安全......
摘要:本来想上周末没能用delphi实现动态代理就算了,可是这几天却始终放不下这个想法,这实在是一个太美妙的想法了。而且在认真看了vcl对soap的实现后,现在至少有九成的把握可以实现这样一个动态代理。
那么动态代理有什么用?
这要先从gof的proxy模式说起。
假设有下面这样一个接口及其实现:
现在,如果你是这个接口的用户,而这个接口及其实现者提供了一个: foo : ifoo;
给......
增强型DBGrid2Excel-- 支持标题粗体,对齐格式与避免科学计算法
unit dbgrid2excel;
{
功能描述:把dbgrid输出到excel表格(支持多sheet)
调用格式:dbgridtoexcel([dbgrid1, dbgrid2]);
对于数字用asstring, 其它可能含有格式的文本用displaytext
长数字字符 的tag c_longnumber_fieldtag = 9; 避免科学计算格式,如身份证号的显示
自动采用对齐属性, 标题粗体
}
interface
uses
classes, comctrls, stdctrls, windows, dialogs, controls, sysutils,
db,dbgrids,forms,comobj,variants;
const
c_longnumber_fieldtag = 9;
//这些不可运算文字可能含有格式
function mayhasformattext(const afieldtype:tfieldtype):boolean;
procedure dbgridtoexcel(args: array of const);
implementation
function mayhasformattext(const afieldtype:tfieldtype):boolean;
begin
result := afieldtype in
[ftboolean, ftdate, fttime, ftdatetime, fttimestamp,
ftstring, ftfixedchar, ftwidestring] ;
end;
{
功能描述:把dbgrid输出到excel表格(支持多sheet)
调用格式:dbgridtoexcel([dbgrid1, dbgrid2]);
}
procedure dbgridtoexcel(args: array of const);
const
xlhaligncenter = -4108;
xlhalignleft = -4131;
xlhalignright = -4152;
var
icount, jcount: integer;
xlapp: variant;
sheet: variant;
i: integer;
bk : tbookmark;
dataset:tdataset;
col : tcolumn;
cellstr : string;
gal :talignment;
eal : integer;
begin
screen.cursor := crhourglass;
if...
下一页 摘要:delphi中使用ado组件,利用udl可以在不修改源代码的情况下后台数据库可以在ms sql server与access之间切换吗?我以前以为如此,因为两者都是用的微软ado接口,只是oledb provider不同,而且都支持标准的sql语法(利用ado)。但是最近要把一个基于access的 c/s程序移植到 ms sql server的时候,才发现还是有一些不同的。主要有两点:字符串字段与自......