var
  Form1: TForm1;
  //在这里定义就可以  
implementation{$R *.DFM}也可以在form的public里定义。

解决方案 »

  1.   

    但是我为什么没有应用到呢?
    在form1中有s:='南京大学';
    在form2中有select * from stuents where name=s;
    然后没有值
      

  2.   

    最好是在PUBLIC中定义,免得变量名称重复。引用时TForm.变量名。
      

  3.   

    单元中某个类的全局变量定义在private里即可,如需被其他类引用则定义在public里单元的全局变量定义在implement上方,
    var
      Form1: TForm1;
    的下面。这样单元中的其他类都可引用应用程序的全局变量,建议统一放在一单元,其他单元都uses这个单元即可。
      

  4.   

    在每个FORM德implementation上面定义,在其他FORM中使用时,要价如定义变量德FORM NAME.
      

  5.   

    在form2中
    implementationuses unit1,
    我建议您看一下Delphi入门的书!
      

  6.   

    select * from stuents where name=form1.s;
      

  7.   

    select * from stuents where name=s;
    这一句就是一个错误:name=s
    应该是:'... name='+''''+S+'''';另外,在执行之前,showmessage(s)一下,看看是否有值
      

  8.   

    我用了showmessage(s)
    没有
    另外你说的那个我知道,我刚才是为了方便才没有写的
    程序没有错误,只有变量没有传递到
      

  9.   

    在public 
    或在var
      Form1: TForm1;
    的后面
    如:var
      Form1: TForm1;
      S:string;
      

  10.   

    结束了
    问题出在我的dbgrideh上,我换了汉字的列名,没有想到!!!