高手请进(这个问题苦恼我很长时间了!!!)(100分)

  • 主题发起人 主题发起人 superkieth
  • 开始时间 开始时间
S

superkieth

Unregistered / Unconfirmed
GUEST, unregistred user!
在cb中,有一工程(其他工程都没有问题)在调试时,涉及VCL控件的值不能跟踪,
自己定义的值都没有问题。这个问题苦恼我很长时间了。
 
project->Options->Compiler->Debuging->Use Debug DCUS选中。
然后你就能够调试了,不过你会烦死的,呵呵。
 
噢,Sorry,我说的是Delphi中。CB没有发言权.
 
不过道理一样,你自己找一下吧,应该有类似选项的。
 
谢谢各位大哥!
我补充说明以下,如一个LABEL的caption调试跟踪时出现
E2451 Undefined symbol '_fastcall Controls::TControl::GetText()'
当然其他的工程都可以的。
工程设置与正常的一样,如Debuging等。
(分不够可以加)
 
其他工程可以的?
只有一个工程不行吗?呵呵,我又拿Delphi的论调和你讨论了,对于Delphi,可能生成扩展名为dsk的文件,保存各种信息。
删除这个就好了。
还有一个可能,就是说被编译器优化了,导致有些变量的数值看不到。
 
谢谢yzhshi!
其他工程都行。
我删除了原来的工程,从新把表单等添加进新工程,错误同样。
以前是好的。
 
难道真的没有人知道.!
 
找找你的工程文件所在目录的没用的文件,都删除实验一下。
注意:进行此操作的时候不要打开该工程文件。
 
这种方法我试过了。
可以说像重建工程,删除不必要的文件等都试过了。
除了一个表单一个表单添加没有试,太麻烦,有上百个表单,所以来请教!
 
>补充说明以下,如一个LABEL的caption调试跟踪时出现
>E2451 Undefined symbol '_fastcall Controls::TControl::GetText()'
要跟踪一个值,必须要设置断定,如果要路踪TControl::GetText()直接这样做是不行的
在程序要这样做.
AnsiString sText=TControl::GetText();
然后在这句的下面一句设置断点跟踪sText的值就行,
因为只能跟踪一个变量的值,不能跟踪函数.
如果你要跟踪 Label1->Caption 是可以的.
 
to dy0618:
我现在的情况是,跟踪 Label1->Caption 时出现
E2451 Undefined symbol '_fastcall Controls::TControl::GetText()错误。
而并不是跟踪函数。
当然不单单是Label其他的EDIT跟踪TEXT值也一样。再定义变量可以跟踪。
如:
AnsiString strTmp;
strTmp = Edit1->Text;
Edit1->Text不能Edit1->Text,而strTmp可以。
TControl::GetText()是CB本身的实现方法,不是我的函数。
可能某处错误,故在跟踪VCL控件值时出错。
我用的是CB5+PACK1
另本人上网不是很方便,谢谢各位了。
 
在delphi的tools菜单->Environment options->Liabrary -> Library path ->加入VCL源码
所在的路径就可以进入VCL源码进行跟踪了
 
我用的是BCB5.0(Build 12.34).安装盘上写的是BCB5.5.没有出现你所说的问题.
你用BCB5.5试一试
 
我这个安装盘是BCB5.5,D版。
我这个工程以前是正常。很长时间忙与其他的事。后来就是现在的样子。
这段时间改过几次程序。
我想可能与我的某个单元有关,使在调试时出问题。
 
各位的没有我合适的回答,谢谢各位的参与。
 
多人接受答案了。
 
后退
顶部