转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> Delphi程序 >> 正文
Delphi程序设计之--惯用法         ★★★★

Delphi程序设计之--惯用法

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1946 更新时间:2009/4/23 18:37:59
essage.Msg := Msg;
 Message.WParam := 0;
 Message.LParam := 0;
 Message.Result := 0;
 Broadcast(Message);//广播当前的变更消息
end;
其中:
procedure TWinControl.Broadcast(var Message);
var
 I: Integer;
begin
 for I := 0 to ControlCount - 1 do
 begin
   Controls[I].WindowProc(TMessage(Message));
//改为:with TMessage(Message) do Cads[I].CadPerform(msg, WParam, LParam);
   if TMessage(Message).Result <> 0 then Exit;
 end;
end;
但是,我们处理图形对象时,可能会直接调用 Cads 的CanPerform公共函数即可

{ No. 14 }需要时,动态创建你的对象

比如:http://www.delphibbs.com/keylife/iblog_show.asp?xid=824 中的
//*******方案二  当需要的时候在创建属性窗体
uses
...
fProperty;
type
TfrmMyMap = class
  ...
  procedure OnfrmMyMapDestroy(Sender: TObject);
  procedure OnMapGeoSelected(AGeo: TGeometry);
private
  FfrmProperty: TfrmProperty;
  procedure ShowPropertyForm(aVisible: Boolean);
public
end;

procedure TfrmMyMap.ShowPropertyForm(aVisible: Boolean);
begin
if Not Assigned(FfrmProperty) then FfrmProperty := TfrmProperty.Create(Application);
FfrmProperty.Visible := aVisible;
end;

procedure TfrmMyMap.OnfrmMyMapDestroy(Sender: TObject);
begin
if Assigned(FfrmProperty) then FfrmProperty.Free;
end;

procedure TfrmMyMap.OnMapGeoSelected(AGeo: TGeometry);
begin
if Assigned(FfrmProperty) then FfrmProperty.MyRefresh(AGeo);
end;

这里说明了:
1、需要时,动态创建你的对象 FfrmProperty
2、当前对象释放时,判断你的对象的合法性,然后释放动态创建的对象。

 

 { No. 15 }创建接口还是创建结构

//项目描述:我开发一个表格控件时,如果我将单元格设置为一个Com,则如果表格现实的信息过多的话,则装载速度无法保证,甚至于有死机的可能。我之所以用Com是为了将来每个单元格的处理和信息都可以在控件外扩展。

我的解决办法是:对于每个从Cell派生来的控件创建一个实例,通过动态创建若干个结构对象Record来记录个单元格的信息,如果需要对单元格进行操作,则将结构对象指针赋值给Cell组件,测试结果很令人满意。

所以,如果需要使用某个Com大量实例的话,尽量管理和维护一个实例,而对于其中的数据可以实行动态创建管理,速度上会有很好的效果。
另外,尽量声明一个 pMyInterface = ^IMyInterface 借口指针,参数传递或使用时,直接使用接口指针,这样可以减少调用计数函数_AddInft等,如果操作平凡也可以提高速度的。

注:此文作者笔名:JoyYuan97。(自己很菜,写不出来什么,找到好的东西希望大家一起分享,也感谢作者给我带来的经验和技巧)

希望看过的人留下意见,下面为作者的话:
“另外,最好请将您转贴位置的连接给我一份。我向定期看看别人的建议。谢谢!
有好经验大家分享!”

上一页  [1] [2] 


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台