将VB6应用程序移植到VB.Net:任何人都可以投票多少努力?

前端之家收集整理的这篇文章主要介绍了将VB6应用程序移植到VB.Net:任何人都可以投票多少努力?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在2002年,我为客户做了一个相当大的VB6应用程序.它使用了很多UserControls和第三方菜单控件(用于将图标放在菜单名称旁边).它具有动态“可拆分”面板,具有多状态复选框的TreeView等.一个非常丰富的UI.我在这个项目上的总时间是大约500个小时,客户慷慨地让我分散一个多月. (是的,这是那样的工作)他们很高兴,但是他们按时付款,没有任何论据.

所以在与他们联系多年后,他们突然打来电话,想知道我是否可以将应用程序更新为.Net.我的初步反应是拒绝,因为我不使用VB.Net.看了一堆关于移植困难等的帖子,我更倾向于拒绝,可以这么说.

不过,在我告诉他们之前,我没有兴趣大致量化所需的努力.我很乐意听到有人做过这样的事情,感受到了多少工作.是吗

>显着低于原来使用的努力?
>比原来使用的努力少一些?
>与原来使用的努力一样吗?
>更多
>还有更多?

如果您实际上已经完成了这样的端口,请您回复.答案不一定要准确,因为我真的只是试图去做这个.我的感觉是,这个努力至少与原来的一样多,如果不是更多的话.但我可能错了感谢任何帮助.

我已经做了你所要求的在我的情况下,这是一个(业余)保龄球锦标赛mgmt系统:会员数据库mgmt(个人信息,IRS / Winnings信息,邮寄名单等),比赛mgmt(玩家分配,得分,车票生成,奖金检查注册和侧盆等等)以及IRS EDI一代,为所有获奖者提供了一年.加上大约十亿个小物品分散在50个屏幕/子屏幕之间.

关键是客户了解 – 您必须清楚,他们明白这不是微不足道的;这是你的两个新冒险(特别是如果你是VB.Net的新手)如果他们喜欢你的工作之前,他们可能会很好地给你在他们的镍上学习VB.Net的余地/自由.

阅读一些以前的答案让我提出一些建议(根据30年作为软件开发人员的经验,最后20位作为顾问….)

如果他们提供它,就要付钱.你需要将你的技能带到20世纪;让他们付钱(再次,如果他们同意)他们可能是杂志冲浪,想要“最新的东西”为没有好的原因 – 但也许他们意识到,他们可以延长(你的)应用程序的这个端口的使用寿命.实质上,他们可能会有各种愚蠢的原因,如果他们不雇用你决定这个港口是否是一个好主意.那么你可能对客户关系建设的决定过程表示沮丧;但是,如果他们想这样做,那么它也可能是你的工作.
>采取所有这些mumbo-jumbo re:C#与VB.Net与一粒盐.自从VB.Net / ASPX.net(vs C#)开始以来,我一直在EXCLUSIVELY工作,还没有遇到VB.Net中无法实现的功能.有一些“纯粹主义者”,只是把VB.Net视为玩具.那么我来自于在汇编程序中编写的日子,然后是C,然后是C(你可以抛出Fortran,PL1很好的测量),然后是VB5,然后是6,然后VB.Net …和NOW JAVA for Android.它的所有好运气,每个都有它的优点和缺点.记住,C#和VB.Net本质上只是实现元语言中间件的GUI.你可以写一个TERRIBLE(通过效率或内存使用或你选择的任何指标来衡量)!在C#中编程,在VB.Net中是一个很好的(反之亦然).不要用语言语言好好编程. (… C#是“优”??? Gimme休息.)
>我选择允许Visual Studio做大部分的重量级的首次通过.然后你会经历这些错误并清理掉.它变得非常快
但是您需要决定是否利用VB6手工编码的任何框架优势.例如.循环一个字符串来定位一个特定的字符现在就像The_String.IndexOf(“c”)一样简单我发现在我的情况下,我经历了几次代码,并且获得了更好和更好的优势(即对象方向)以及我变得舒适的框架好东西,这增加了你的开发时间(见CLIENT了解咒语),但是你的代码将会更有效率,因为它可能在VB6中.您可以简单地将错误移出来,而不是从框架中获得任何优势.
>我没有发现第三方active-x控件的任何问题.您可以添加对FRAMEWORK对象,COM对象等的引用.甚至可能控制供应商具有.Net(托管代码)版本…或者可能有适合的替代方法,因为您在VB6中编写了该事物. (见客户了解口头禅)

所以如果你还在阅读,那么现在我终于会告诉你,VB6中VB.Net转换/ PORTED应用程序的第二次尝试是原来时间到达工作模式的1/3,而且我是学习框架也是如此. (如果你对自己的技能有信心,多年来学到了几种语言,您将很快获得VB.Net的要点 – 它的“SUBTLETIES”需要一段时间.)

我必须提醒你,如果您不明智地告诉客户端了解,那么真的可以杀死你的事情是,如果他们想在你移植的时候进行更改(这是非常喜欢的,因为他们已经使用了一段时间).我在我的情况下也很真实.

这里没有硬而快的规则.这可能是改变实际上将帮助您更快地理解框架,或更改可能是一个真正的痛苦.只有你可以确定他们可能是哪种味道.如果它们看起来是PAINFUL类型,那么您可能会要求首先进行转换,以便可靠地复制功能 – 然后返回并查看代码以进行更改,并根据需要利用框架.但是,正如我所说,这里没有硬而快的规则 – 不要让纯粹主义者不同的告诉你 – 记住他们可能是同样的人说PASCAL将要接管世界!

猜你在找的VB相关文章