我在FORM1的public中定义一个个变量i:integer;
我在另一个窗口中,调用这个变量,当读取这个变最的值时都正常,可我想改这变量的值运行就出错,不知什么原因。
form1.i:=2;当运行到这一步就出错。

解决方案 »

  1.   

    设的只读?
    改成 property i : integer; 再按 Ctrl + Shift + C。试试。
      

  2.   

    没用
    没有设只读
     public
       khxscs: integer;
       khcxcs: integer;
    我在别的窗口如下语句form1.khcxcs:=2;己用USE form1了编译都通过,就是在执行这条语句出错
      

  3.   

    你可以试着做一个只有两个窗体的demo验证下。然后再照着改。
      

  4.   

    多谢楼上,果然是这个问题。马上给你加分。另外再问你个小问题,就是,在存储据时,由于有些字段是用户没填的。这样POST之后,它是以NULL存入,可在查询有时,会把满足条件的字段值,复制给EDIT中。但由于是NULL。而EDIT是str类型。这样会出错,如何解决。不要每个字段来判断为NULL是复值为‘’这样太麻烦了。
      

  5.   

    在查询时把这个字段做一次是否为空换值。如 isnull(a,'')
      

  6.   

    这个语句怎么写,我是用ACESS的,好象不支持isnull(a,''),说是用iif
    bx_pgd.Edit3.Text:=IIf(dbgrid1.DataSource.DataSet.FieldValues['lxdz'] isnull,'',dbgrid1.DataSource.DataSet.FieldValues['lxdz']);
    这个格式不对吗?
      

  7.   

    不推荐iff,还是换if then else 比较好