把Delphi 2010裝上去看了一下,第一步當然要先評估常用的元件裝上去的可能性,
下載了新版的FastReport 4,發現FastReport的老問題-中文的Desgn畫面會變亂碼
。
研究了老半天發現recompile產出的四個.pas跟本就是亂碼。
知道問題後就很簡單啦,到Res的Taiwan發現有四個有對應到檔名的.xml,
然內容轉一下在貼上,重編譯就解決啦...
註:此方法在Delphi 2007 執行時期一樣是亂碼,可能是文件的編碼問題,修改
frxRes.pas
412行 原UTF8Decode拿掉
Self.AddW(Items[idx].Prop['Name'], (AnsiString(frxXMLToStr(Items[idx].Prop['Text']))));
方式2 : 新的FR4 有熱心網友提供 UTF8 的frcc.exe
不管Delphi 2007 or 2010,拿來重新產生語言檔就可以,然後出來的.pas
copy to Source目錄,不然設計時期會有亂碼
Memo中文丟失的問題
1.改用RichEdit
2.
這個類持久化函數改了一下去掉了Utf8的轉換部份,就把問題切底解決了.
frxUnicodeUtils單元下:
把TWideStrings類的ReadDataW和WriteDataW函數中關於Utf8的轉換去掉
具體是:
ReadDataW:
//Add(Utf8Decode(Reader.ReadString));
Add(Reader.ReadString);
WriteDataW:
//Writer.WriteString(Utf8Encode(Get(I)));
Writer.WriteString(Get(I));
沒有留言:
張貼留言