请教关于Delphi2007中IF语句的问题?! ( 积分: 100 )

  • 主题发起人 主题发起人 quharry
  • 开始时间 开始时间
Q

quharry

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi2007中:
if button1.caption='open' then
.......

这样会编译会出现Boolean错误,请问应该如何处理?
[DCC Error] Serv_Unit1.pas(46): E2012 Type of expression must be BOOLEAN
 
=写成:=了吧
 
D2007没有用过。。我一真是d6,D2007和D6是什么区别。。好用吗?
楼主:你这语句在D6中是可以运行的。。。
 
加个括号看看
 
怀疑d2007部分变量的声明与d6,d7不一样了。
加个括号上去看看。
 
虽然没用过 D2007,但我相信 D2007 也不可能有这样的问题的。
 
可能是書寫有誤吧。
 
没有写错,写成 if (button1.caption='open') then 这样也是一样的,报同样的错!
 
写成 if (button1.caption=='open') then 试试
 
没有用过Delphi2007。。。。。。
 
if button1.Caption= 'aa' then
begin
showmessage('ok');
end;
通过测试,编译通过。 检查下是不是你写错了
 
if button1.caption='open' then
.......

试都不用试,就知道 不 会 有 错
 
to jacklive;
呵呵,我还真的笨得去试了,结果发现--完 全 没 问 题。
 
呵呵
在C#里 IF 是用 == 不是用=号的 不知道D2007是否学C#的方式
 
这样的问题不需要任何测试就可以负责任的告诉你,没这个问题。不过既然是负责任就本着严谨的态度,刚刚我用D2007写下了如下代码进行测试:
procedure TForm4.Button1Click(Sender: TObject);
begin
if Caption = 'start' then
Beep;
end;
一切正常,编译通过并且执行无错![red]再次声明!虽然我做的测试在一开始就是多于的,但为了有完整的说服力(针对楼主而言),我还是在Delphi 2007 (CodeGear RAD Studio Delphi 2007 for Win32)下测试通过![/red]
 
为什么?为什么?
会发出这样的问题??
 
delphi世界qq群:23981160,喜欢Delphi的都进来
 
刚刚试了一下又没有报错了,真是奇怪,源码这两天都没改过。
虽然不知道原因,但总算通过了,谢谢各位的热情帮忙!
 
后退
顶部