MDI Form 登入畫面傳遞變數 |
尚未結案
|
eric039
中階會員 發表:57 回覆:126 積分:51 註冊:2002-11-30 發送簡訊給我 |
最近參考站上的 MDIForm 的登入實作
有一個問題請問 program pReport; uses
Forms,
ReportMain in 'ReportMain.pas' {fmReportMain},
Login in 'Login.pas' {fmLogin}; {$R *.res} begin
Application.Initialize;
Application.Title := '生產管理輔助系統';
while crlogin do
begin
ReportMain.crmain;
end;
Application.Run;
end. 我要如何把我在 Login Form 裡面的變數傳到 ReportMain Form 內 拜託大家了 Eric Lin
------
Eric Lin |
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
jimmy_wei
高階會員 發表:9 回覆:176 積分:147 註冊:2003-08-28 發送簡訊給我 |
|
eric039
中階會員 發表:57 回覆:126 積分:51 註冊:2002-11-30 發送簡訊給我 |
昨天在 KTop 找了一晚上的資料
終於想到解決的方法
跟各位分享 我原本是在專案檔內把 Login 的 Form Create
在 Login Form 裡面判斷是否有 Login 成功,然後就把 Form Free 掉了
之後在專案檔內 再去開啟 MainForm 執行程式
這樣的情況之下就無法在 From 跟 Form 之間傳遞變數了 專案檔內設定的變數又不知道有沒有全域變數之分(試過好像不行)
後來想到用 Call By Refrence (Call by Address) 的方式
這樣就可以把專案檔內的變數直接給 Login 跟 Mail 的 From 作溝通 部分程式如下: 這是專案檔的部分
program pReport; uses Forms, ReportMain in 'ReportMain.pas' {fmReportMain}, Login in 'Login.pas' {fmLogin}, {$R *.res} var // 宣告專案檔的變數 ApOperId, ApOperName: String; bnExitSystem: Boolean; begin Application.Initialize; Application.Title := '生產管理輔助系統'; while crlogin(ApOperId, ApOperName) do //這裡用 Call By Refrence 的方式呼叫 Login Form 的 Function begin ReportMain.crmain(ApOperId, ApOperName, bnExitSystem) ; // 這裡可以把變數傳給 Main Form if bnExitSystem then Application.Terminate; end; Application.Run; end.這裡是 Login Form 的部分 unit Login; interface uses . . . . var fmLogin: TfmLogin; function crLogin(var StrOperId: String; var StrOperName: String):Boolean; // 這個 Function 宣告為 Call by Refrence 的方式 implementation var ErrorTime: Integer; {$R *.dfm} function crLogin(var StrOperId: String; var StrOperName: String):boolean; begin with tfmlogin.Create(application) do begin showmodal; StrOperId := ReturnOperID; StrOperName := ReturnOperName; // 這樣就可以把這個 Form 內其他程序處理過的變數 ReturnOperId 跟 OperName 存到專案檔內設定的變數 result:=re; free; end; end;希望這樣的方式對其他人有幫助 Eric Lin Eric Lin
------
Eric Lin |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |