当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 在平时写程序时,总是碰到窗体(TForm)与线程(
 

 

 ·delphi 水晶报表打包解决     »显示摘要«
    摘要:开发环境: 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......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE