没写完!好想基本VCL不让重新编译的,可以在原来类基础上重新定义新的类。
解决方案 »
- Delphi7 中 QReport做的报表字段的值多行时,表格的行高如何自动改变?
- TstringGrid右侧框图的问题!
- 定时检查多个任务,showmodal一个form进行提示,程序就不执行了??????????
- 请问那位有Web Services的资料??高分请进,
- DELPHI里的ADOQUERY控件怎样实现两张表的交叉查询?高手在哪?
- 关于在程序中加入图片?
- RichEdit插入较多GIF动画后的闪烁问题
- 关于WIN8和DELPHI的几个小问题,求解答
- 请高手帮忙!我在type区定义了
- DiamondAccess+access97 为什么在装有access2000的机器上无法运行
- 请问最小化WINDOES窗口的消息是什么?
- 關于對象的Create 方法的質疑!!!
如果把db.pas拷出来编译,将db.dcu(new) copy to $(DELPHI)\lib\db.dcu。
就出现错误:
Unit QRExpr was compiled with a different version of Db.TStringField
就连以前的项目编译时也出相同的错。
我要做一个通用的模块,需要给一些字段做标志,类型可能是string、char、int等。只好改TstringField,或Tfield对象。
2 是否可以在模块中用一个动态数组,保存这些字段的标志。
3 想一想其他办法……
不到不得已的时候不要修改VCL源码,否则以后很难维护的。
如果只是做标志不用修改源码的。
TField对象中有一个tag字段,它是integer类型,给程序员记录一些和对象实例有关的值,
你现在的情况可以定义
const
flString = 1;
flChar = 2;
flInt =3;
...这样string的就给tag赋值flString,
char的就给tag赋值flChar,
如此类推,问题就解决了。
BTW:如果你程序中要用到一些delphi或第三方提供的构件,基本上就不允许修改vcl的源码了。