我試圖將語言切換到我的一個程序中。訪問另一個表單上的值
如果用戶選擇一種語言,並且在運行時應用程序被翻譯。我有點在一個小型測試項目中工作。但只有當窗體是自動創建的,我不想要。
形式獲得創建的方法如下:
旁註:我大部分的形式是fsMDIChild形式。
ParametersForm := TParametersForm.Create(Self); //(consider this the mainform for now)
在ParametersForm我
procedure TParametersForm.FormCreate(Sender: TObject);
begin
ResourceStringsDM.ParametersF; //(consider this the second form)
end;
這個數據模塊設有用於ParametersForm字幕。
procedure TResourceStringsDM.ParametersF;
begin
with ParametersForm do
begin
bsSkinLabel1.Caption := 'Execute Nieuwefacturen';
bsSkinLabel2.Caption := 'Execute Viewfacturen';
end;
end;
我已經加入ResourceStringsDM到實現使用ParametersForm和ParametersForm到接口ResourceStringsDM的使用。
這一切都給我一個訪問衝突的原因,在它設置標題使用ParametersForm(我想要翻譯的形式的var名稱)的過程中,但在那個時候,這個var是零。 Prolly導致它尚未完成創建表單並未填入表單var。
我得到這個所有的工作的唯一途徑是通過使用
Application.CreateForm(TParametersForm, ParametersForm);
但我想讀它之後,以避免這一點,你應該只在您的MainForm中使用。它也不能很好地處理傳遞參數。
你們中的任何一個人有沒有任何提示或提示/幫助讓我訪問Form 2中的表單1的標題?
我大概忘了你們需要的大量信息。只要告訴我,並將其添加進去。
爲什麼不能做正確,用實際'resourcestring'常數和內置的[語言支持](http://docwiki.embarcadero.com/RADStudio/XE5/en/Translation_Manager_in_the_IDE),而不是試圖自己重新發明輪子?(僅供參考:SO是專業人士的網站;「prolly」不是英語中的實際詞彙,也不是「你」,你在這裏沒有發短信給你的朋友,請用真實的話語。) –
哇先生脾氣暴躁.....修正了你的娛樂語言。但你給的答案不是我所問的。 –
我沒有給你答案 - 我發表了一個評論,提出一個常識性的問題,以確保你知道已經有能力做到這一點,而沒有你添加的所有kludgy東西來嘗試做它自己。就「暴躁」而言,這是專業人士的專業網站,期望您在此使用實際詞彙是完全合理的。如果用真實的語言寫一個明確的問題對你來說是不值得的,爲什麼值得我們的努力來幫助你用我們的時間來解決你的問題? –