起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 212|回复: 11

【结贴】创建公用函数**

[复制链接]
发表于 2009-3-3 10:47:43 | 显示全部楼层 |阅读模式
我每个窗体中都要有以下三句代码
datagrid1.HeaderColor := TSettingLib.GetConfig.HeaderColor;
  AbGradient1.GradSettings.ColorTo :=TSettingLib.GetConfig.ColorTo;
  AbGradient1.GradSettings.ColorFrom := TSettingLib.GetConfig.ColorFrom;
这样我修改和后期维护起来都很麻烦,能不能写个通用函数,在每个窗体中只要调用这个函数就行呢?
回复

使用道具 举报

发表于 2009-3-3 10:50:30 | 显示全部楼层
可以做一个基础的功能或者文档,然后其他都继承他。
或者做一个资源集,开放一个方法,然后每个功能或者文档调用它。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-3 10:53:01 | 显示全部楼层
因为我现在窗体都已经创建完了,我想做个资源集,那这个方法怎么写呢?主要是参数不会定义
回复 支持 反对

使用道具 举报

发表于 2009-3-3 10:54:06 | 显示全部楼层
传组件的方式。
比如:function setcolor(dg : TDataGrid;)
回复 支持 反对

使用道具 举报

发表于 2009-3-3 10:55:25 | 显示全部楼层
datagrid1,AbGradient1:tdatagrid
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-3 10:55:41 | 显示全部楼层
我知道是这个方法,你能详细写一个代码吗?主要传递datagrid1和AbGradient1这两个组件
回复 支持 反对

使用道具 举报

发表于 2009-3-3 11:13:18 | 显示全部楼层
什么地方不会写?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-3 13:40:42 | 显示全部楼层
function setcolor(DG: TDataGrid;AG: TAbGradient): String;
我创建了一个资源集,然后在资源集中创建了这个函数,可是编译的时候提示[错误]Biz:\AQGLXTSPACE\WJJ1\YSHS.Library.pas(14, 27): Undeclared identifier "TDataGrid"
[错误]Biz:\AQGLXTSPACE\WJJ1\YSHS.Library.pas(14, 27): Undeclared identifier "TAbGradient"
回复 支持 反对

使用道具 举报

发表于 2009-3-3 14:11:32 | 显示全部楼层
TDataGrid,TAbGradient你查查建模工具的帮助或者你对应看看窗体的单元上引用的单元,然后在资源集里面引用对应的单元。(uses里面添加)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-3 14:27:08 | 显示全部楼层
这个问题解决了,还有一个问题就是如果窗体中只有一个AbGradient控件的话,调用这个函数怎么办?在事件中加个什么判断?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-26 16:18 , Processed in 0.041878 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表