메인 폼의 변수를 다른 폼에서 사용하고 싶습니다. 각 폼에는 자체 단위가 있습니다.다른 폼/유닛에 변수 전달하기
은 내가 '변수에 액세스하려고 사용하고 단위'그들은 내가 구현 공공 선언하고 아래에있는 변수를 넣어해야한다고 말했다 기사를 발견 Result_u
에 Login_u에서 IUSER를 사용하고 싶습니다. 또한 그것은 내가 오류 선언되지 않은 identififier을 얻을 내 결과 단위에서 변수
unit Login_u;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, StdCtrls;
type
TfrmLogin = class(TForm)
btnLogin: TButton;
cbxUser: TComboBox;
procedure btnLoginClick(Sender: TObject);
private
{ Private declarations }
public
iUser:Integer;
{ Public declarations }
end;
var
frmLogin: TfrmLogin;
implementation
uses Result_u;
{$R *.dfm}
procedure TfrmLogin.btnLoginClick(Sender: TObject);
begin
iUser:= cbxUser.ItemIndex;
end;
end;
end.
을하고 싶어 곳에서 구현 용도에 따라 그 변수 다음 단위 이름에 액세스하려고 단위로, 나는 활성화 절차를 사용 단지 시험과 쇼 메시지가
unit Result_u;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, jpeg, ExtCtrls;
type
TfrmResult = class(TForm)
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmResult: TfrmUitslae;
implementation
uses Login_u;
{$R *.dfm}
procedure TfrmUitslae.FormActivate(Sender: TObject);
begin
ShowMessage(iUser);
end;
end.
나는 이것에 대해 몇 가지 기사를 읽고 그러나 나는 복잡한 코드 할 필요가 나던 그래서 나는 고등학교 학생이야, 잃어버린 유지한다.
어딘가에 당신은 TFrmLogin' '의 인스턴스를 만들 필요가 : 여기
는 로그인 양식을 만드는 방법TFrmLogin
의 인스턴스를 통해iUser
값을 얻을하는 방법을 데모입니다. 그러면 그 인스턴스를 통해'iUser'를 얻을 수 있습니다 :'frmLoginInstance.iUser'. 일반적으로 전역 변수'frmLogin'을 사용해서는 안됩니다. 아마도'TFrmResult' 선언 안에서. 또한'Login_u'에서'Result_u'를 제거합니다. –* "그들은 변수를 public 선언에 넣어야한다고 말했습니다."* - 괜찮습니다. - "* and under implementation"에서 변수 '*'에 액세스하고자하는 유닛을 사용합니다. - 불필요한 경우 'Login_u'에서'Result_u uses '를 제거하십시오. - * "구현 용도에서 해당 변수에 액세스하려는 단위에서 또한 단위 이름"* - 그렇습니다. 괜찮습니다. --- 당신이 누락 된 부분은 ->'ShowMessage (frmLogin.iUser);'필드를 한정하는 것입니다 (물론 iUser는 정수이므로 실패 할 것입니다). –