原来程序是好好的,我也没添加什么代码,现在在调试的时候就打开watch窗口就提示Variable 'Self' inaccessible here due to optimization,昨天也出现过这种情况,可是不知道怎么回事自己好了,今天又出现了,大家帮忙

解决方案 »

  1.   

    我又看了一下,现在代码是这样的
       hwdm:=Trim(Edt_hwdm.Text);
       hwmc:=Trim(Cobx_hwmc.Text);
       with ADOQ_hwgg do //提取货物规格数据
        begin
          Close;
          SQL.Clear;
          SQL.Add('Select Distinct hwgg from CKGL_PMB where hwdm= '
                  +''''+hwdm+''''+'and hwmc='+''''+hwmc+''''+
                  'and ztbz='+''''+'正常'+'''');
          Open;
        end;
    我在第一行那儿加了断点,调试前两句的时候打开watch窗口还没有报错,只是走到with ADOQ_hwgg do 的时候我想查看ADOQ_hwgg 的sql内容,就报这个错了,看来问题就出在这儿,可是找了好长时间了,也没摸着门道
      

  2.   

    試試
    procedure TRes_Social_Security_F.cxButton1Click(Sender: TObject);
    begin
      inherited;
      with ADOQ_hwgg do
      begin
        Close;
        SQL.Clear;
        SQL.Add( ' Select Distinct hwgg from CKGL_PMB where hwdm='''+ Trim(Edt_hwdm.Text)+''' and hwmc='''+ Trim(Cobx_hwmc.Text)+''' and ztbz=''正常'' ');
        Open;
        ShowMessage(SQL.Text);
      end;
    end;
      

  3.   

    或者procedure TRes_Social_Security_F.cxButton1Click(Sender: TObject);
    begin
      inherited;
      with ADOQ_hwgg do
      begin
        Close;
        SQL.Clear;
        SQL.Add( ' Select hwgg from CKGL_PMB where hwdm='''+ Trim(Edt_hwdm.Text)+''' and hwmc='''+ Trim(Cobx_hwmc.Text)+''' and ztbz=''正常'' and hwgg is not NULL group by hwgg ');
        Open;
        ShowMessage(SQL.Text);
      end;
    end;
      

  4.   

    1、这个不是错误
    2、跟代码无关,跟编译优化有关到Options->Compiler中把Optimization关掉,应该就能看到了,注意改了后要重新BUILD一下项目(是BUILD不是COMPILE),以便生成没有被优化的DCU。等到真正发布的时候,再把Optimization勾上编译