2009年10月13日 星期二

TIPTOP案例探討 - 我的ACTION寫在sub或lib裡面,沒有轉換成中文?

TIPTOP GP從1.0版本開始,就把action的名稱代換交給4ad檔來作了﹝原始的TIPTOP BDL版本是在程式裡寫不同語言別的MENU來達到的﹞,因此,如果希望ACTION名稱能在執行時被轉換以『在地語言』顯示,就要瞭解一下4ad的總體架構。

TIPTOP程式執行起來時,對於4ad檔其實是讀兩份:
系統對目前語言別的4ad﹝$TOP/config/語言別/tiptop.4ad﹞
個別程式對目前語言別的4ad﹝$TOP/config/語言別/模組/程式.4ad﹞

個別程式的4ad是由p_base_act產生而來,tiptop.4ad是手工調整

由於有兩類的4ad,因此若發現客製﹝或標準﹞的ACTION名稱沒顯示想要補上,也有兩種作法:

1.從個別的4ad補:由於寫在sub或lib中,系統是以42x的格式把它包起來,製做4ad時從p_link拉下來的4gl清單自然就不存在這個sub或lib程式,而產生時就沒有這個ACTION。

可是別忘了p_base_act是允許自定ACTION NAME的。

image

因此,請在個別要用到的『主程式』內,『每個都訂一次』需要的ACTION名稱,再重新生成4ad就可以了。

2.可是我的sub/lib是有2500支程式要用的,我總不能訂2500次吧?是的,當這招不好用時,那只好麻煩『手動調整tiptop.4ad』,自行加入action id在所有語言別項目下。

但是,當使用2方法時,雖然操作簡易,可是每支程式都會讀入這個action資料﹝佔記憶空間﹞,操作上仍請自行衡量。

沒有留言:

張貼留言