procedure TStraForm.ComboBoxSTypeSelect(Sender: TObject);
begin//showmessage (comboboxStype.seltext);if ComboBoxSType.SelText='周策略' then 
begin
//do something...
end
else if ComboBoxSType.SelText = '日期段策略' then 
begin
//do something...
end;//StraForm.Repaint;
end;如果把上面的ShowMessage注释了话,下面的代码就没用了。打开ShowMessage,SHOW出来的是空白,但下面的代码就有效了!!!!我该怎么办???????

解决方案 »

  1.   

    我的个人看法(可能不准确):
    ===========================
    procedure TStraForm.ComboBoxSTypeSelect(Sender: TObject);
    上面的事件是在选择Combobox的时候发生的,意思是在Combobox的下拉框中选中一拦的时候发生的.但是seltext是指用鼠标选中,就好象你用鼠标选中后才能复制一样意思就是说,你在选中一栏的时候(作为Combobox的内容),根本没对Combobox里面的文字用鼠标选中
    ,所以,seltext当然为空了!
      

  2.   

    你把//showmessage (comboboxStype.seltext);注释掉了
    因为ComboBoxSType.SelText为空,既不等于“周策略”,也不等于“日期段策略”,当然不会执行if里面的代码了,因为showmessage开始就被注释,所以整个程序什么也不会做了搂主,明白了吗?
    =====================
    如果你要改,可以这样(不知道我的意图和搂主是否一样)
    procedure TStraForm.ComboBoxSTypeSelect(Sender: TObject);
    begin//
    if ComboBoxSType.text='周策略' then 
    begin
    //do something...
      showmessage('你选择了周策略');
    end
    else if ComboBoxSType.text = '日期段策略' then 
    begin
    //do something...
      showmessage('日期段策略');
    end;//StraForm.Repaint;
    end;
      

  3.   

    那要放到哪个事件去啊????奇怪的是,ShowMessage的话,下面的代码就有效了!!!真不知道什么回事。
      

  4.   

    我是说,注释掉这一句的话,程序什么也不做。不注释的话,显示空白之后,它又可以执行下面的代码do something了。
      

  5.   

    如果我选的是周策略,ShowMessage(空白)之后,程序就可以执行周策略里的代码了。奇怪。