有一段代码:比如在unit2中定义了一个变量n:string,
程序启动:form1是主界面,form1.creat中调用n的值,不成功!程序启动,form1是主界面,启动起来后点form1上面的button,成功!好奇怪啊,放creat中就不行,放form1上面的button就成功,这是什么原因啊?

解决方案 »

  1.   

    各个Form是有创建顺序的, Fomr1.Create时Unit2中的变量n还没正常赋值。
      

  2.   

    楼上的,form1外面还有一个login界面,login后,n已经有值了。
      

  3.   

    项目在创建窗体时有顺序的,Form1是主窗体优先创建,在Creat中Form2还没有创建自然不能访问它的东西,可以把Form2自己创建,在Form1的Creat中Form2:=TForm2.Creat(Application),之后就可以用了。
      

  4.   

    明白了,因为项目在程序启动的时候就建立过了,只是用show方法显示出来,这时n还没有值呢,现在动态创建窗口的确实现功能了。谢谢了。