标签: vb6-migration

14
推荐指数
1
解决办法
1823
查看次数

13
推荐指数
3
解决办法
6万
查看次数

C#相当于VB6的GetObject

以下VB6代码连接到某些第三方软件并强制使用管理员用户名和密码登录:

Set obj = GetObject(, "workspace.application")
obj.System.FixLogin strAdminUsername, strAdminPassword
Run Code Online (Sandbox Code Playgroud)

我想在C#中执行相同的任务,但作为一个非常环保的C#开发人员(大约3个月的经验),我不知道如何做到这一点.我在Google上度过了一个非常令人沮丧的一天,但却发现没有什么能符合这个要求(大部分都是我甚至无法理解的)我对VB6的了解甚至比我对C#的了解要少,但VB6让它看起来如此简单.

在我实施到QA环境之前,我无法测试连接到第三方软件.所以我想用一个简单的应用程序测试功能,例如Notepad.我可以在记事本上调用哪种函数/方法而不是"FixLogin"?

如果有人可以帮我解决这个问题,我将不胜感激.

亲切的问候,史蒂夫.

c# vb6-migration

13
推荐指数
2
解决办法
1万
查看次数

如何在我的程序中找到"const char*+ int"表达式

我正在进行源代码迁移,转换器程序没有使用整数转换嵌入字符串的串联.现在我有很多代码用这种表达式:

f("some text" + i);
Run Code Online (Sandbox Code Playgroud)

由于C/C++将其解释为数组下标,f将收到"some text",或"ome text",或"me text"...

我的源语言将字符串的串联转换为int作为字符串连接.现在我需要逐行浏览源代码并手动将前一个表达式更改为:

f("some text" + std::to_string(i));
Run Code Online (Sandbox Code Playgroud)

转换程序设法将本地" String"变量转换为" std::string",从而产生表达式:

std::string some_str = ...;
int i = ...;

f(some_str + i);
Run Code Online (Sandbox Code Playgroud)

这些很容易修复,因为有了这样的表达式,C++编译器会输出错误.

是否有任何工具可以在源代码上自动找到这样的表达式?

c c++ migration vb6-migration

12
推荐指数
3
解决办法
1194
查看次数

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

2002年,我为客户做了一个非常大的VB6应用程序.它使用了很多UserControls和第三方菜单控件(用于在菜单名称旁边放置图标).它具有动态"可拆分"面板,具有多状态复选框的TreeView等.非常丰富的UI.我在这个项目上的总时间大约是500个小时,客户慷慨地让我分享了整整一个月.(是的,就是那种工作.)但他们非常高兴,他们按时付账,没有任何争议.

因此,在与他们多年没有接触之后,他们突然打电话,想知道我是否可以为他们更新应用程序.Net.我最初的反应就是拒绝,因为我不使用VB.Net.在阅读了大量有关移植等困难的帖子后,我倾向于拒绝,可以这么说.

不过,在我告诉他们之前,我并不感兴趣大致量化其所需的努力.我很乐意听到任何做过这种事情并且感觉自己有多少工作的人.是吗:

  • 显着低于你在原版上使用的努力?
  • 比你在原版上使用的努力少一点?
  • 你在原版上的努力是一样的吗?
  • 更多?
  • 多很多?

如果您确实已经完成了这种端口,请回复.答案不一定非常准确,因为我真的只是试图将其解决.我的感觉是,努力将至少与原始的努力一样多,如果不是更多的话.但我可能是错的.谢谢你的帮助.

vb.net vb6 vb6-migration

10
推荐指数
1
解决办法
2591
查看次数

什么是最简单的.NET等效的VB6控件数组?

也许我还不太熟悉.NET,但我还没有看到一种令人满意的方式在.NET中轻松实现这个简单的VB6代码(假设这个代码在一个带有N CommandButtons的表单Command1()和N中数组Text1()中的TextBoxes:

Private Sub Command1_Click(Index As Integer)

   Text1(Index).Text = Timer

End Sub
Run Code Online (Sandbox Code Playgroud)

我知道它不是非常有用的代码,但它证明了控制数组在VB6中的易用性.C#或VB.NET中最简单的等价物是什么?

.net vb6 control-array vb6-migration

9
推荐指数
1
解决办法
1万
查看次数

将Visual Basic 6.0类型转换为VB.NET"结构"

编辑:已经让这个在32位下工作,我现在正试图让它适用于64位.我已经获得了DLL的源代码,并且DLL和应用程序都被编译为64位.我每次都会遇到访问冲突.这是DLL代码(Visual Studio 2005中的 C++ ):

#pragma pack( push, 2 )
// Output Results Structure
typedef struct tagTVA_RESULTS {
    int   iID;             /* Difference ID 1 .. n */
    int   iLeft;           /* Bounding rectangle */
    int   iRight;
    int   iTop;
    int   iBottom;
    double dCx;            /* Center of gravity */
    double dCy;
    double dMajor;         /* Shape information */
    double dMinor;
    double dAngle;         /* Rotational information */
    int    lArea;          /* Number of pixels */
    int    iEdge;          /* Set if difference is at the edge …
Run Code Online (Sandbox Code Playgroud)

vb.net vb6-migration

9
推荐指数
1
解决办法
9570
查看次数

从VB6迁移到.NET的最佳策略

我公司有大量用VB6编写的遗留应用程序.

我们处于从将VB6应用程序迁移到.NET(特别是3.5)的过渡期.

将VB6转换为.NET的最佳策略是什么?



注意:以下更新应转至"项目管理",与主要问题无关.

[更新]:感谢您的反馈到目前为止,
还有更多问题需要弹出

  1. 你如何指定开发人员开发新的应用程序?
  2. 是否应该有一个特殊的一次性升级部门,将遗留应用程序转换为新的应用程序?或者每个开发人员都应参与转换过程吗?
  3. 只有高级开发人员参与转换吗?初级开发者?还是混合?

看起来,我越想到这个问题,就会出现更多问题.

.net vb6 legacy vb6-migration

8
推荐指数
2
解决办法
1万
查看次数

在C#中,VB语句短语"Chr(0)"是什么?

什么是Chr(0)C#中等效的VB语句表达式?

谢谢你的帮助.

c# vb6 vb6-migration

8
推荐指数
2
解决办法
1万
查看次数

如何用visual studio.net打开visual basic 6程序

我想打开一个程序(用Visual Basic 6编写)在Visual Studio.net中打开.请指导,我该怎么办?

在尝试直接从visual studion.net中的OPEN项目选项打开VB6(.vbp文件)程序时,我收到此错误,

"Visual Basic 6(.vbp)文件无法在Visual Studio中打开"

vb.net visual-studio-2010 vb6-migration visual-studio

8
推荐指数
4
解决办法
7万
查看次数