以下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"?
如果有人可以帮我解决这个问题,我将不胜感激.
亲切的问候,史蒂夫.
我正在进行源代码迁移,转换器程序没有使用整数转换嵌入字符串的串联.现在我有很多代码用这种表达式:
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++编译器会输出错误.
是否有任何工具可以在源代码上自动找到这样的表达式?
2002年,我为客户做了一个非常大的VB6应用程序.它使用了很多UserControls和第三方菜单控件(用于在菜单名称旁边放置图标).它具有动态"可拆分"面板,具有多状态复选框的TreeView等.非常丰富的UI.我在这个项目上的总时间大约是500个小时,客户慷慨地让我分享了整整一个月.(是的,就是那种工作.)但他们非常高兴,他们按时付账,没有任何争议.
因此,在与他们多年没有接触之后,他们突然打电话,想知道我是否可以为他们更新应用程序.Net.我最初的反应就是拒绝,因为我不使用VB.Net.在阅读了大量有关移植等困难的帖子后,我更倾向于拒绝,可以这么说.
不过,在我告诉他们之前,我并不感兴趣大致量化其所需的努力.我很乐意听到任何做过这种事情并且感觉自己有多少工作的人.是吗:
如果您确实已经完成了这种端口,请回复.答案不一定非常准确,因为我真的只是试图将其解决.我的感觉是,努力将至少与原始的努力一样多,如果不是更多的话.但我可能是错的.谢谢你的帮助.
也许我还不太熟悉.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中最简单的等价物是什么?
编辑:已经让这个在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) 我公司有大量用VB6编写的遗留应用程序.
我们处于从将VB6应用程序迁移到.NET(特别是3.5)的过渡期.
将VB6转换为.NET的最佳策略是什么?
注意:以下更新应转至"项目管理",与主要问题无关.
[更新]:感谢您的反馈到目前为止,
还有更多问题需要弹出
- 你如何指定开发人员开发新的应用程序?
- 是否应该有一个特殊的一次性升级部门,将遗留应用程序转换为新的应用程序?或者每个开发人员都应参与转换过程吗?
- 只有高级开发人员参与转换吗?初级开发者?还是混合?
看起来,我越想到这个问题,就会出现更多问题.
我想打开一个程序(用Visual Basic 6编写)在Visual Studio.net中打开.请指导,我该怎么办?
在尝试直接从visual studion.net中的OPEN项目选项打开VB6(.vbp文件)程序时,我收到此错误,
"Visual Basic 6(.vbp)文件无法在Visual Studio中打开"