标签: vb6-migration

VB中"公共共享"子/函数的含义

任何人都可以在VB中解释我需要使用Public Shared Sub,因此可以从其他表单访问它.

但这个"公共"和"共享"意味着什么?

  • 谁是公众
  • 与谁分享

如果是公共共享,这是否意味着其他一些软件或"某些黑客应用程序"可以更轻松地访问此子及其价值?

vb.net vb6-migration

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

将VB6应用程序转换为.NET的策略

一次开始将表单转换为.NET是一个好主意,然后通过COM-interop从VB6应用程序调用.

这样,在流程结束时,您只需将VB6应用程序的"shell"转换为新的.NET应用程序,并且所有表单都可以在.NET中使用.

有更好的策略吗?

.net vb.net vb6-migration

7
推荐指数
1
解决办法
1479
查看次数

使DLL COM可访问

我有一个用.Net编写的类库,我想提供给VB6/VBA.我尝试过的东西不起作用(显然我在问这个问题).这是我做的:

  1. 我在Visual Studio 2010 Express中创建了一个类库项目,并将代码放在一个类模块中.
  2. 我打开项目属性并转到"装配信息"并选中"使COM可见".
  3. 我去了"高级编译"选项,并针对.Net 2.0(这是非常简单的代码).
  4. 然后我删除了所有期望的"系统".
  5. 我构建了项目(没有警告或错误)并将DLL从Bin文件夹复制到C:\ Windows\System32 \
  6. 我运行RegSvr32注册DLL并得到错误:

模块"MyDll.dll"已加载但未找到入口点DLLRegisterServer.

确保"MyDll.dll是有效的DLL或OCX文件,然后再试一次.

显然,我的第一次尝试有点天真.有人可以提供指导吗?

.net vb.net vb6 com vb6-migration

7
推荐指数
1
解决办法
8328
查看次数

有没有办法以编程方式将VB6格式化字符串转换为.NET格式化字符串?

  1. 有谁知道VB6格式字符串的一个很好的参考?
  2. 有谁知道从VB6格式化字符串到.NET字符串的转换器?

我正在努力将大型VB6代码库移植到.NET.它是一个以数据库为中心的软件,数据库本身保存VB6格式字符串,稍后加载并用于显示数据库中的其他数据.

我的问题,就像这篇文章一样,是如何移植它的.但是,为该问题选择的答案不足以满足我的需求.我依赖专门为后向兼容我专门雇用的语言设计的库而感到不舒服.

c# string-formatting vb6-migration

7
推荐指数
1
解决办法
2472
查看次数

Visual Studio 查找并替换所有引用

使用 Visual Studio (2010) 有什么方法可以Find All ReferencesReplace All功能相结合。

我继承了由 VB6 程序员编写的 VB.NET 代码,并且我想删除对IIFVB6 函数和许多其他 VB6 函数的所有引用,因为它们会导致一些问题。

CodeRush 或 Resharper 是否支持此功能?如果他们这样做的话,我似乎找不到任何关于它的文档。

有些功能我可以通过正常方式删除find and replace,但其他功能则更难为其构建正则表达式。

我尝试删除对 Microsoft.VisualBasic.dll 的引用,但错误数量非常大(只是为创建的每个新类复制粘贴代码)

coding-style legacy-code visual-studio-2010 vb6-migration visual-studio

7
推荐指数
0
解决办法
9654
查看次数

强制模态窗体显示在任务栏中

根据MS,当您在VB6中显示模态窗体时,它不会在任务栏中显示"设计"

但有没有办法让VB6模态窗体显示在任务栏中(ShowInTaskbar属性在模态时没有效果)

在我们的一个应用程序中,我们有一个模式登录表单,它是在启动屏幕卸载后在应用程序中显示的第一个表单,因此如果用户在顶部移动另一个窗口,则您不知道它已加载.

vb6 taskbar user-experience modal-dialog vb6-migration

7
推荐指数
2
解决办法
5925
查看次数

相当于"Dim As String*1"VB6到VB.NET

我有一些需要迁移到VB.NET的VB6代码,我想查询这行代码,看看是否有办法在.NET中实现它

Dim strChar1 As String * 1
Run Code Online (Sandbox Code Playgroud)

Intellisense一直告诉我语句结束是预料之中的.

vb.net string vb6 vba vb6-migration

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

VB6/VBA MSFlexGrid到VB.NET DataGridView

再一次,更加出色的VB6VB.NET迁移.

好的,这不一定是定义中的"问题",但它将回答用户将来会遇到的许多问题,并希望能够回答我的问题.

我试图编译内的性质和功能的列表,MSFlexGrid在VB6/VBA和.NET的DataGridView提供相同或有所相同用途.我不仅需要它们,而且我相信还有更多的人需要它们.

到目前为止,这就是我所拥有的,我希望其他人可以随意添加和编辑.我希望这有助于我和其他人将旧控件转换为.NET控件,其功能与旧代码相同.如果您想添加,请在BlockQuote中输入关系,并在其专有位置输入定义:

VB6/VBA                          VB.NET

MSFlexGrid.Cols         :::::    DataGridView.ColumnCount
MSFlexGrid.Col          :::::    ???
MSFlexGrid.Rows         :::::    DataGridView.RowCount
MSFlexGrid.Row          :::::    ???
MSFlexGrid.TextMatrix   :::::    DataGridView.Item(Int32,Int32).Value
MSFlexGrid.TextArray    :::::    ???
Add More Here           :::::    Add More Here
Run Code Online (Sandbox Code Playgroud)

定义VB6:

  1. MSFlexGrid控件.Cols =返回或设置MSFlexGrid中的总列数.

  2. MSFlexGrid控件.Col =返回或设置MSFlexGrid中活动单元格的坐标.

  3. MSFlexGrid控件.Rows =返回或设置MSFlexGrid中的总行数.

  4. MSFlexGrid控件.Row =返回或设置MSFlexGrid中活动单元格的坐标.

  5. MSFlexGrid控件.TextMatrix =返回或设置任意单元格的文本内容.此属性允许您设置或检索单元格的内容,而无需更改RowCol属性

  6. MSFlexGrid控件.TextArray =返回或设置任意单元格的文本内容.此属性允许您设置或检索单元格的内容,而无需更改RowCol属性.

  7. 在这里添加更多


定义VB.NET:

  1. DataGridView的. …

vb.net datagridview vb6-migration winforms msflexgrid

7
推荐指数
1
解决办法
6754
查看次数

将DateAdd和格式代码从VB6转换为C#

我在vb中有以下代码 -

tAvailableDate = DateAdd("d", 21, Format(Now, gDATEFORMAT))
Run Code Online (Sandbox Code Playgroud)

我试图将其转换为C#.

到目前为止我已将此转换为 -

tAvailableDate = DateAdd("d", 21, Format (DateTime.Now, Global.gDATEFORMAT));
Run Code Online (Sandbox Code Playgroud)

但我无法找到替换DateAdd()Format()功能.

有任何想法吗?谢谢.

c# vb6 vb6-migration

7
推荐指数
2
解决办法
9980
查看次数

"与遗留代码有效协作"是否可以帮助某人使用从VB6移植到VB.NET的应用程序?

我想重构一个最初用Visual Basic 6.0编写并随后移植到.NET 的大型遗留应用程序.为了充满信心地做到这一点,我希望围绕现有代码进行单元测试,以便我可以在之前和之后进行比较.这样做最简单,最有效的方法是什么?

有一本名为" 有效地使用遗留代码 " 的书看起来可能对我有所帮助.但是,它看起来只处理面向对象的语言,Visual Basic 6.0不一定是OO.这本书还能帮助我吗?我希望读过它的人可以保证.

具体来说,此应用程序不使用表单本身以外的类.它直接从表单访问数据库,而不是一致的.有几个人正在使用他们自己的风格,没有任何标准.

正如我所说,这个项目已经移植到VB.NET.但是,它只是在Visual Studio 2008下编译的意义上移植.所有编码概念都是Visual Basic 6.0.

legacy refactoring vb6-migration

6
推荐指数
1
解决办法
1240
查看次数