分类: WordPress
与 WordPress 有关的知识
过度汉化修正一例
前段时间帮朋友汉化了一个软件。昨天突然收到反馈说软件功能不正常——弹出的小窗口单位制显示错误。英文原版正常。除主程序外,替换了其他DLL文件,还是出错。那问题一定在主程序上了。
猜测可能是因为主界面的参数没正确传递给其他界面。试着还原
还原后,一切正常。
无奈,本人是完美主义者。其他都汉化了,怎么能少了这里呢?于是就继续”深入虎穴”。经过一番摸索后(技术不到家,不然应该很快就能找到方法,下次要好好看看PE结构,重定位这些知识了。),终于得”虎子”。特此记录下。(篇幅有限,步骤有删减,挑了主要部分,分析过程从略)
1、用Athena提取字符串,查找SI的调用地址
P.S.Unicode字符串SI比较短,需要在UltraEdit里找到字符,然后往Athena里添加记录。
2、这个程序比较奇怪(也有可能当时汉化时,没过度汉化),主界面的三个选项(SI、ENGLISH、METRIC),后两个汉化了没事,主要因素在SI这个字符串上。所以就先来看看”米制”(Unicode码73 7C 36 52)
顺手在附近写下”公制”(Unicode码6C 51 36 52 )
那么,它们的相对地址是:
米制地址****AC(1EC9AC)
公制地址****A3
3、找到”米制”地址后,回到Athena看下调用地址0016D6C9
4、会想起步骤1中,SI的调用地址0016D6A1,和”米制”的调用地址接近。分别看下这两处调用地址。
SI调用地址内容
米制调用地址内容
5、回想起步骤2中,增加的”公制”字符串,将上图SI的调用地址改为(A3 DF 5E 00)
6、保存后,运行成功,无问题。
7、用OllyICE查看调用过程如下:
英文原版调用过程
汉化修正版调用过程
“我爱你”的逆否命题
XPO 最佳实践(XPO Best Practices)
来源:https://www.devexpress.com/Support/Center/Question/Details/A2944
1. Always define a constructor with a Session parameter in your persistent objects.
This will help you prepare for point 4 (see below) and will also allow you to avoid the exception explained in the A751 article.
[C#]
public class OrderDetail : XPObject { public OrderDetail(Session session) : base(session) { } // ... }
[VB.NET]
Public Class OrderDetail Inherits XPObject Public Sub New(ByVal session As Session) MyBase.New(session) End Sub ' ... End Class
Devexpress 正版团购,走起!~
Devexpress 正版团购,走起!~
发现一个不错的视频格式转换软件Any Video Converter
下载地址:http://www.any-video-converter.com/products/for_video_ultimate/
SN:
汉化新世纪
000HXE-CBYVU1-3W20RH-H7EZ4N-0K7V7V-7VZ1VD-WX2EWJ
字符串偏移
如何让TreeListLookup在弹出时,自动对焦到搜索框
如图所示,在弹出时,自动对焦到红框区域。
Private Sub 商品查找品牌RepositoryItemTreeListLookUpEdit_Popup(sender As Object, e As EventArgs) Handles 商品查找品牌RepositoryItemTreeListLookUpEdit.Popup Dim editor As TreeListLookUpEdit = CType(sender, TreeListLookUpEdit) editor.Properties.TreeList.ShowFindPanel() End Sub
Private Sub 商品查找商品RepositoryItemSearchLookUpEdit_Popup(sender As Object, e As EventArgs) Handles 商品查找商品RepositoryItemSearchLookUpEdit.Popup Dim editor As SearchLookUpEdit = CType(sender, SearchLookUpEdit) editor.Properties.View.ShowFindPanel() End Sub
总算会拿devexpress 的控件做点东东了
自己的进销存系统指日可待了!~