在调试程序时出现: Variable 'Self' inaccessible here due to optimization(100分)

  • 主题发起人 主题发起人 pcmax
  • 开始时间 开始时间
P

pcmax

Unregistered / Unconfirmed
GUEST, unregistred user!
本人在编写一个ActiveForm时,在调试下面程序时:
if (Edit2.Text='1') then
MediaPlayer1.FileName := PrevPath + 'User' //执行该行语句时,MediaPlayer1.FileName出现Variable 'Self' inaccessible here due to optimization
else
MediaPlayer1.FileName := ClipPath + 'dddd '
//执行该行语句时,MediaPlayer1.FileName一切正常

我开始以为时Delphi 6的问题,现在已经升级到Delphi6 Sp2了。
 
这个很简单
你只要加上form1.mediaplayer1.filename
就行了
这是优化的结果
不保留默认的控件容器的信息
 
楼上的老兄,问题还是没有解决

在ActiveForm中好像没有Form1,但是可以用Self,但是问题依旧存在。

怎么办啊,我快死了。
 
你到底为何要调试这个
 
这个是我的工作咧,搞不出来要死人的。
 
DElphi IDE下有一些关于优化的选项,把它们都关了试试
 
当你赋值的变量在后面的代码中不再使用的话,DELPHI优化器会马上释放它的内存占用,
你当然调试不了啦。
你可以在后面随便定义一个语句来打破它的优化
如:
if (Edit2.Text='1') then
begin
MediaPlayer1.FileName := PrevPath + 'User';
if MediaPlayer1.FileName='fk' then Self.Tag := 1000;
end
else
MediaPlayer1.FileName := ClipPath + 'dddd ';
 
同意楼上的
 
多人接受答案了。
 
后退
顶部