Tag: vb6

标记为受限制的函数或接口,或者该函数使用Visual Basic中不支持的自动化类型

这个错误在VB6中意味着什么? 标记为受限制的函数或接口,或者该函数使用Visual Basic中不支持的自动化类型。 当我调用windows xp及更高版本附带的dll的特定方法时,我一直得到它(在system32中称为upnp.dll)

为VB6编译C#.net dll

我创建了一个简单的类,如下所示: using System; using System.Text; namespace Seed { class Plant { public string Planting () { …. } } } 我可以从VB6代码调用此函数吗?

对象在vb.net中隐式实例化?

我正在维护一个同时具有VB.NET和c#组件的应用程序。 我认为这两种语言的语法不同,但我发现VB.NET中存在一个奇怪的特性,而C#中并没有这种特性。 在VB.NET中,我有以下类: Public Class bill_staff Inherits System.Windows.Forms.Form …. End Class 如果我想在C#中使用这个类,我这样做: using (var frm = new bill_staff()) frm.ShowDialog(); 但是,在VB.NET代码中,类可以像这样使用: bill_staff.ShowDialog(); ShowDialog在元数据中定义如下: Public Function ShowDialog() As System.Windows.Forms.DialogResult 所以在VB.NET中,可以在类上调用实例方法。 据我所知,这似乎隐式地创建了一个类的新实例,然后在该对象上调用该方法。 在C#中,这是不可能的 – 必须在类上调用静态方法,并且必须在对象上调用实例方法。 我在互联网上找不到任何关于此的信息。 这个function叫做什么,是不是很好的做法? 该项目最初是从VB6转换而来的 – 这是一些奇怪的遗留function吗?

如何使用Regsvr32注册用C#编写的COM DLL?

我有一个使用COM DLL的VB6应用程序。 DLL是用C#编写的。 在C#项目属性中,我选中了“注册COM互操作”选项。 VB6应用程序在我的开发机器上运行良好。 C#代码完全遵循以下格式: CodeProject C#COM示例 当部署到其他计算机时,Regsvr32.exe在我尝试注册DLL时出现以下错误: The module “MyCOM.dll” was loaded but the entry-point DLLRegisterServer was not found. 这是什么意思? 没有教程/文档我读过关于COM DLL的任何关于“入口点DLLRegisterServer”的内容。 我们在不同的机器上使用RegAsm.exe时遇到了MAJOR问题,所以我们真的需要一个解决方案,我们可以运行regsvr32.exe,它可以用于我们部署到的任何机器(即XP,Vista,Windows 7,x86机器,x64)机器等) 我需要将哪些内容添加到我的C#代码中以使其可以使用regsvr32.exe进行注册?

为vb6应用程序制作C#kill事件?

我有一个VB6应用程序,处理非常非常长的时间。 直接杀死它是不可行的,所以我想在VB6应用程序中设置某种标志。 如果在我的C#应用​​程序中我决定将其关闭,我想切换此标志以让VB6应用程序知道已请求关闭。 现在,我还需要一些命名的东西,因为将有几个VB6应用程序作为activex exes旋转。 有谁知道如何实现这样的事情? 工作流程如下 C#app – 在单独的线程中旋转多个VB6 activex.exes,用某些东西初始化应用程序(以下称为标志)我可以在C#中更改,并调用DoStuff命令,这需要很长时间才能返回。 VB6 – 获取带有标志的initialize命令。 DoStuff被调用。 在DoStuff循环中,它检查标志是否仍然设置。 C# – 通过将标志设置为另一个状态来终止项目 有任何想法吗?

C#DLL不能影响VB6应用程序引用传递的数字的值

我有一个调用VB6 DLL的遗留VB6应用程序,我试图将VB6 DLL移植到C#而不接触主VB6应用程序代码。 旧的VB6 DLL有一个接口通过引用接收VB6长(32位整数),并更新了该值。 在我编写的C#DLL中,主VB6应用程序从未看到更新的值。 它就像真正编组到C#DLL的内容一样,是对原始数据副本的引用,而不是对原始数据的引用。 我可以通过引用成功传递数组,并更新它们,但单个值不行。 C#DLL代码看起来像这样: [ComVisible(true)] public interface IInteropDLL { void Increment(ref Int32 num); } [ComVisible(true)] public class InteropDLL : IInteropDLL { public void Increment(ref Int32 num) { num++; } } 调用VB6代码看起来像这样: Private dll As IInteropDLL Private Sub Form_Load() Set dll = New InteropDLL End Sub Private Sub TestLongReference() Dim num […]

visual basic 6.0的转换工具比较

有没有人使用以下任何一种(或任何其他工具)将您的vb6代码转换为.net语言? Artinsoft的升级伴侣 (转换为c#和vb.net) vbmigration合作伙伴 (转换为vb.net) 他们和你转换的大小项目效果如何? 之后剩下多少工作要做? 你对自己的.net项目感到高兴。 支持是什么样的? 对于像这样的工具的用户,是否有任何支持论坛,供应商似乎都没有提供。 他们收取了什么费用,他们的价格没有公布,而且我听到上述两个例子来自不同来源的价格差别很大

具有32位VB6 COM对象的64位C#

我有一个32位进程内STA VB6 DLL。 我遗憾地对此无能为力。 我的C#组件从64位大大受益。 无论如何从我的64位进程调用/接口这个32位dll? 任何类型的包装或任何东西?