日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

symbol MC 3090 upgrade to symbol MC 3190

發布時間:2024/9/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 symbol MC 3090 upgrade to symbol MC 3190 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

客戶最近反應3090停產了,需要我們把以前在 symbol mc 3090?上運行的程序升級到 3190 上來,開始以為是一個很簡單的活,想不到越做越麻煩,原因是源程序N年前就沒有了..沒辦法我只能走另一條路了.想了想需要做這些事情:

1.wince 5.0 升級到 wince 6.0

2.sqlce 2.0 升級到 sqlce 3.5

3.symbol 一引起dll 的升級.

4.源程序的升級.

還好兄弟水平還可以,都給搞定了..

?

這是經驗:

?

?

Reverse Compiling Windows Forms
Today I had a fun task: the source code for an existing executable had been lost, and I got the job of getting it back. The good news is that Red Gate's Reflector (formerly Lutz Roeder's Reflector) is a standard tool for any serious .NET programmer, and it does quite a decent job of decompiling (nonobfuscated) .NET code. The bad news is that I had to also reverse-engineer the GUI.

After finding nothing on Google, and a bit of trial and error, I discovered the following procedure worked adequately, at least for my (simple) executable on Visual Studio 2008:

1.First, export the source from Reflector, create a solution, and ensure it builds.
2.Convert the ".resources" files into ".resx" files. Reflector just dumps out the binary .NET resources, but VS prefers them as XML. Fire up your VS command prompt and run this command: "resgen My.Long.Resource.Name.resources Name.resx".
3.Move the resulting ".resx" files into their appropriate directories (e.g., "My\Long\Resource"). The rest of these steps must be done for each ".resx" file.
4.Add the ".resx" files to your solution (they should be inserted under the matching ".cs" file), remove the old ".resources" file from the solution, and rebuild.
5.Add a new empty C# code file named "Name.Designer.cs" file in the same directory, and paste in the following code:
?namespace My.Long.Resource {???? partial class Name???? {???????? /// <summary>???????? /// Required designer variable.???????? /// </summary>???????? private System.ComponentModel.IContainer components = null;?????????? /// <summary>???????? /// Clean up any resources being used.???????? /// </summary>???????? protected override void Dispose(bool disposing)???????? {???????????? if (disposing && (components != null))???????????? {???????????????? components.Dispose();???????????? }???????????? base.Dispose(disposing);???????? }?????????? #region Windows Form Designer generated code???????? /// <summary>???????? /// Required method for Designer support - do not modify???????? /// the contents of this method with the code editor.???????? /// </summary>?????????? #endregion?????? } }

6.Open up the parent "Name.cs" file (right-click -> View Code) and add the "partial" attribute to its class declaration.
7.Delete the member variable "components".
8.Move all GUI member variables from "Name.cs" to the end of "Name.Designer.cs" (placing them after the "#endregion"). GUI member variables are anything that is added from the Toolbox, so that would include System.Windows.Forms.Timer components, etc.
9.Delete the "Name.Dispose" method from the "Name.cs" file.
10.Move "Name.InitializeComponent" from the "Name.cs" file into the "Name.Designer.cs" file, placing it before the "#endregion".
11.For each unrecognized type in the member variables and InitializeComponent, either fully qualify it or add a using declaration. Fully qualifying each type is more time consuming, but matches exactly what the designer expects. After this step, the solution should build.
12.If InitializeComponent contains a line assigning the member variable "this.components = new Container();", then it must be changed to be "this.components = new System.ComponentModel.Container();" and moved to the top of the method.
13.If InitializeComponent contains a line creating a resource manager, e.g., "ComponentResourceManager manager = new ComponentResourceManager(typeof(Name));", the local variable "manager" must be renamed to "resources" (and update references to the renamed object).
14.Repeat attempting to load it in the designer, fully qualifying any types that it complains about (this step is necessary because the designer's code parser is not as smart as the C# compiler):
?"The designer cannot process the code..." - Any enum member variables that have the same name as their type need to have their value fully qualified, e.g., "base.AutoScaleMode = AutoScaleMode.Font;" needs to be "base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;").
?"The variable ... is either undeclared or was never assigned" - Many types seem to require fully qualified type names when declared (e.g., "private OpenFileDialog openFileDialog;" needs to be "private System.Windows.Forms.OpenFileDialog openFileDialog;").
After following the (rather tedious) procedure above, you should have a form that can be opened in the VS designer. If I had more time, I'd wrap it up as a Reflector add-in, but time seems to be a fleeting resource these days.

轉載于:https://www.cnblogs.com/newr2006/archive/2012/03/20/2408120.html

總結

以上是生活随笔為你收集整理的symbol MC 3090 upgrade to symbol MC 3190的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。