如何在一个文件在调用另一个文件(50分)

  • 主题发起人 主题发起人 lg001
  • 开始时间 开始时间
L

lg001

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在有两个.pas文件,一个是登录窗口,一个是程序主窗口。其中登录窗口中定义了
一个变量login, 在程序主窗口中也定义了这个变量,在登录窗口的.pas文件中的
implementation下调用主窗口的.pas文件。
在实际运行时,却报程序主窗口中的login未定义。可事实上变量已经定义了呀。
请各位大虾帮忙回答一下。谢谢。
 
怎么2次定义同一个变量?
 
是这样的:
假设登录窗口的文件叫 plogin.pas
程序主窗口的文件叫 pmainform.pas

首先在plogin.pas中定义变量 login
var
login:tflogin;

implementation
uses pmainform;

.......
.......


然后在pmainform.pas中
procedure tfmainform.formactivate(sender:tobject);
var
login:tflogin;
......
......
......
程序运行到pmainform.pas中的
var
login:tflogin;
报错:undeclared identifier:'tflogin'
 
FLogin是登录的窗体的类名,你那个登录窗体的name属性就是:FLogin
 
一点不错,那个登录窗体的name属性正是FLogin,我没写错,可程序为什么不能运行??
真的很感谢卷兄。请你再次回答一下。
 
在登录窗口的单元文件里面

uses pmainform;
 
唉,粗心的vine,在上面我不是在源程序中写过了吗,这句说明也有呀。
真奇怪,明明没有错,可程序就是不能运行??
 
是不是pmainform里没有
uses plogin.pas ?
系统找不到tflogin的声明自然会报错
 
循环调用是可以的。
既 unit1 可以 use unit2,同时 unit2 也可以 use unit1;注意:一个要在接口部分,
另一个要在实现部分。
补充:循环调用在结构化程序设计中是要尽量避免的情况。
 
循环调有问题,如果不急时free很不安全
 
1。主窗口没有 uses plogin
2。或者 tflogin类名有错
 
后退
顶部