两个编写控件的简单问题(100分)

  • 主题发起人 主题发起人 C00C00
  • 开始时间 开始时间
C

C00C00

Unregistered / Unconfirmed
GUEST, unregistred user!
在程序中使用了控件,后来又改了控件,请问是否要将原来的控件删除再加入
再重新编译.
在程序中使用了自编控件,我想在调试时不进入这个控件内部(如Dephi原有控件一样)
,请问如何做到?
 
1.直接覆盖编译即可
2.加入控件单元,需要动态生成控件,进行调试
 
To:郭玉梁
Thanks.
因为快下班了,我写的有些含混不清,Sorry.
我之所以会问这两个问题的原因是:
大家都知道,Delphi自己提供的Ado控件不能满足我们通常的要求,
于是我改动了它的控件,产生了一个新的AdoDataSet-----myAdoDataSet.
1. 当我程序写到一半的时候,我发现了一些新的问题,
这时我将这个新的myAdoDataSet删除,修改后重新编译,
这时我发现原来已经加入到程序中的AdoDataSet好象不能
自动使用这些新的方法,但是它却继承了新产生的属性。
我非要将原来加入的myAdoDataSet一个个删除后再从控
件面板加入才可。所以有第一问。
2. 而我在程序调试时程序总会进入到myAdoDataSet的内
部(myAdoDataSet这个单元中),而我在myAdoDataSet中使
用了很多循环,这样使我烦不胜烦,但我们使用Delphi的
AdoDataSet时,它是不会进入AdoDb中去的,我就想象使用
AdoDataSet一样使用myAdoDataSet,不知如何实现?
 
1.你如果增加了属性,想从对象编辑器中编辑,则必须删除原有控件,从新注册,否则可以不需要.
例如你只在程序中使用了,就不需要重新注册.
2.可以把你的控件的源代码移走,只保留dcu文件,这样就不会进入控件程序内部了
 
将你使用的那个 pas 放到 $(DELPHI)/Lib 下,
然后注意使用的 project 中不要加入那个 pas
一般可以解决 后面的那个问题!
 
惭愧,我将pas移走后,当程序运行到那个地方时,它就问我要Source路径,不给它,
不管选Cancel还是选Ignore,Delphi总会不客气地给我一个美丽得让我无法呼吸的
Cpu窗口(我一个字也看不懂,也不想看).Why
 
你把Project/Options中的Use Debug DCUs关掉
 
To 203010
Thanks.但Delphi默认就是关闭Use Debug DCUs的.我将它打开后发现它进入到System
单元去了.
 
第二个问题还是没有一个方法适合我,有没有其它原因呢?
 
第二个问题, 在那个Pas的Interface下面加五个字母: {$D-}[:)]
 
试一下F4运行到光标所在位置!
 
来自:xianjun, 时间:2001-10-24 11:28:00, ID:688746
第二个问题, 在那个Pas的Interface下面加五个字母: {$D-}
=======================
本来想早说,却被xianjun强了,不过如果你在Pas文件后面不加上{$D+}
的话,以后文件出错,都不会跳到错误的地方了,所以
{$D-}//是关闭Use Debug DCUs
你的程序
{$D+}//是打开Use Debug DCUs的

$D的意思是
Type Switch
Syntax {$D+} or {$D-}
{$DEBUGINFO ON} or {$DEBUGINFO OFF}
Default {$D+}
{$DEBUGINFO ON}
Scope Global
Remarks

The $D directive enables or disables the generation of debug information. This information consists of a line-number table for each procedure, which maps object-code addresses into source text line numbers.
For units, the debug information is recorded in the unit file along with the unit's object code. Debug information increases the size of unit file and takes up additional memory when compiling programs that use the unit, but it does not affect the size or speed of the executable program.

When a program or unit is compiled in the {$D+} state, Delphi's integrated debugger lets you single-step and set breakpoints in that module.
The Include debug info (Project|Options|Linker) and Map file (Project|Options|Linker) options produce complete line information for a given module only if you've compiled that module in the {$D+} state.
The $D switch is usually used in conjunction with the $L switch, which enables and disables the generation of local symbol information for debugging. See also "The generate Turbo Debugger debug info (/V) option" and "Symbol cross-reference information."
 
改了控件的属性必须重新编译(应该说是安装)
其它的可以不重新编译
 
多人接受答案了。
 
把bpl文件和duc文件放到同一个目录里试试看。
 
后退
顶部