摘要:开发环境: delphi6.0及水晶报表9.2 (程序中以bde连接设计报表)打包工具: installshield developer v8.02打包必备: iinstallhields8.0 1. mouules: license.msm;rdcdesigntime.msm;rdcruntime.msm;reportengine.msm 添加以上mouules:在license中输入水......
摘要:http://dev.csdn.net/article/53/53442.shtm如何将几个dbgrid里的内容导入同一个excel表中?在软件实际制作中,为节省开发成本和开发周期,一些软件人员通常会吧dbgrid中的数据直接导出到excel表中,而先前能看到的函数仅仅只能在workbook的一个sheet中导入数据,不支持多sheet!。
~~~~~~~~~~~~~~~~~~~~~~~~~~~......
Delphi关于线程的消息处理
上一页 ...
procedure sendmessage(var message: tmessage); overload;
procedure addhandle(const amessageid: cardinal; amessagehandle: tmessagehandle); 【程序编程相关:
COM 中的服务器和对象(翻译)
】
//添加自定义消息到消息对应表; 【推荐阅读:
用Delphi编写自己的可视化控件
】
// 【扩展信息:
delphi2005探讨之二
】
end;
implementation
{ tpdispatcher }
constructor tpdispatcher.create;
var i: integer;
begin
setlength(messagehandles,pmsg_num); //200个消息的消息对应表
//初始化消息队列;
for i := 0 to pred(pmsg_num) do
messagehandles[i] := nil;
end;
destructor tpdispatcher.destroy;
begin
{释放消息对应表}
freeandnil(messagehandles);
end;
procedure tpdispatcher.addhandle(const amessageid: cardinal;
amessagehandle: tmessagehandle);
var tid: integer;
begin
tid := getindexfrommsgid(amessageid);
assert((tid > 0) or (tid < pred(pmsg_num)) );
assert(assigned(amessagehandle));
messagehandles[tid] := amessagehandle;
end;
function tpdispatcher.getindexfrommsgid(const amessageid: cardinal): integer;
begin
result := amessageid - pmsg_base;
end;
procedure tpdispatcher.sendmessage(var message: tmessage);
var tid: integer;...
下一页 摘要:unit tray;
interfaceuses windows, messages, sysutils, variants, classes, graphics, controls, forms, dialogs,registry,shellapi, comctrls, stdctrls, buttons, menus, extctrls;
const icon_id=3; nif_info......