Tag: vb6

ASP.NET MVC中的经典ASP(C#)

我有一个应用程序,我想(最终)转换为ASP.NET MVC。 我想进行全面的服务升级(到ASP.NET),但是想要使用当前的asp东西来运行当前的function,这样我就可以升级小块,同时对新框架进行增量升级。 这个站点在很大程度上依赖于一个不太成熟的VB6 DLL,所以我们也想最终升级它,可能会用Web服务取代当前的function。 有快速解决方案还是这个任务是3个月+任务? 此外,我相信之前已经想到过,MVC的美妙之处在于我认为有办法解决这个问题,尽管我不确定从哪里开始。 转换这个应用程序的最快方法是什么(在40个小时左右),我可以在其中进行小的配置更改并在ASP.NET MVC中使用它?

编程范式之间的差异和相似之处

在过去的4年里,我一直在做开发人员,在大学学习软件开发之前的4年。 在我4年的行业中,我已经在VB6中做了一些工作(这是一个笑话),但大多数都是在C#/ ASP.NET中。 在此期间,我已经从“对象感知”程序范式转变为面向对象范式。 最近我对其他编程范例感到好奇,所以我想我会问其他开发人员他们对这些范例之间的相似点和不同点的看法,特别是OOP? 在OOP中,我发现人们非常关注概念之间的关系和逻辑交互。 对于其他范例,你必须有哪些思维框架?

将VB6项目打成块以使用Artinsoft的免费版本

我试图将一个大型(200K行)VB6项目转换为C#。 我只想转换表单设计,因为我想重写C#中的所有实际代码。 我想使用免费的Artinsoft转换器,但这只允许10K线的项目。 我想我可以将VB6项目分解为20个单独的项目,然后使用Artinsoft生成C#.NET表单,然后将转换后的表单重新放回到一个C#项目中。 这可行吗? 编辑:这会有用吗? 有什么潜在的问题?

使用GDI +创建的图像未在VB6 LeadTools中显示

我们有使用VB6构建的遗留应用程序。 这些应用程序使用的是铅工具。 一切都很完美。 我们有另一个.NET进程来优化图像(并进行一些水印)并以tiff格式保存。 这是.NET代码的一瞥, using (var bitmap = new Bitmap(contractWidth, contractHeight)) { using (var canvas = Graphics.FromImage(bitmap)) { canvas.InterpolationMode = InterpolationMode.Default; // Play with canvas canvas.Save(); } using (var stream = new MemoryStream()) { bitmap.Save(stream, ImageFormat.Tiff); return stream.ToArray(); } } 当我们以tiff格式保存时(比如image.tif)。 但是当我们在VB6项目上打开这个文件时,它会显示一个蓝屏。 我试图比较正在工作的图像和不起作用的图像。 这是屏幕, 工作: 不工作: 更新:这解决了我的问题将TIFF转换为1位

如何将字节数组作为UDT属性从VB6 / VBA传递到C#COM DLL?

我有一个C#库,我正试图向VBA公开。 我可以很好地将参数传递给函数(即“ref byte [] someArray”),但传递对象或结构只是不起作用。 如果我尝试传递一个字节数组作为类的属性,我在VB-中得到以下错误 标记为受限制的函数或接口,或者该函数使用Visual Basic中不支持的自动化类型 如果我尝试传递一个字节数组作为结构的属性,我在VB-中得到以下错误 我已经打了两天了,而且我一直在寻找那些声称有答案的post,但是没有一个能为我效力。 所以这是我目前的代码: [ComVisible(true)] [Guid(“7F53F7A5-15C9-4A99-A855-38F5E87702D0”)] [InterfaceType(ComInterfaceType.InterfaceIsDual)] // Tried as InterfaceIsDual and as InterfaceIsIDispatch public interface IDetail { [DispId(1)] // Tried with and without these int SomeInt { get; set; } [DispId(2)] string SomeString { get; set; } [DispId(3)] byte[] SomeByteArray { return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_UI1)] get; […]

如何自动响应msgbox

我正在开发一个C#应用程序来自动运行调用几个VB6 .exe文件的旧版VBScript(vbs)文件。 .exe文件具有我需要“响应”的消息框弹出窗口,以允许VBScript进程无人值守运行。 响应需要是Enter键。 我没有.exe文件的来源,我不确切知道他们做了什么。 我非常感谢任何帮助……

从C#引用VBA程序集的运行时错误

我有一个C#.NET 3.5项目,遗憾的是它依赖于几个VB6 ActiveX控件。 到目前为止,我已经能够愉快地访问ActiveX控件中定义的数据容器和方法,只需添加对项目中控件的引用并正常引用它们即可。 然而,当我不得不调用一个返回VBA.Collection的方法时,我遇到了麻烦。 我的代码将编译没有问题,但在运行时我收到以下错误: 无法加载文件或程序集“Interop.VBA,Version = 6.0.0.0,Culture = neutral,PublicKeyToken = null”或其依赖项之一。 该系统找不到指定的文件。 我在项目中引用了Interop.VBA(版本6.0.0.0)和Interop.VBRUN(版本6.0.0.0),有什么想法吗? 我不能给出具体的代码,它包含在NDA中。 但是,这里是来自对象浏览器的示例代码,其名称已更改为保护不那么无辜;) 我可以从我的代码中引用以下属性和方法: ReturnConstants GoodMethod(); string prop1 ReturnConstants prop2 如果我尝试可以调用此方法,我在运行时收到上面的错误消息: Collection BadMethod(); 因此调用返回导致问题的VBA.Collection的方法。 这些是我无法控制的第三方控件,它们不会在.net中重写 编辑:出于兴趣,我去了VS2010尝试了一个快速的虚拟项目,并按预期工作完美,所以看起来这可能是VS2012的一个问题。 我看过一些post暗示2012年没有正确创建VBA的interops,所以我会去看看我能在那里找到什么……

如何使用Interop将c#中的小数传递给vb6

我有一个带有属性的interop c#类: decimal ImportoDocumento { get; set; } 如果我尝试从vb6访问此属性,则会收到错误: 编译器错误:标记为受限制的函数或接口,或者函数使用visual basic中不支持的自动化类型。 所以我发现了这个部分解决方案 decimal ImportoDocumento { [return: MarshalAs(UnmanagedType.Currency)] get; [param: MarshalAs(UnmanagedType.Currency)] set; } 但货币支持最多4位小数的数字。 我的数字也有6位小数。 我能怎么做?

最佳实践方法用于逆向工程VB6代码,不知道域

目标状态:将VB6代码移植到C#中,以所涉及的所有可想到的过程进行整个项目。 如果您不了解域名,您的方法是什么? 几乎有任何文档,只有遗留代码(最多100.000 – 300.000行代码和注释vb6文件,包含多达14.000行代码)用VB6编写。

vb6 manifest添加tlb com

我正在开发一个vb6项目,并希望创建一个清单,因此不需要注册。 我使用MMM(Make My Manifest)工具扫描你的VB6项目的dll依赖项并生成清单。 但是,MMM不包含tlb文件,我有一个用.net编写的Client.dll和Client.tlb,它已暴露给COM并在我的VB6程序中使用。 我不想你使用Regasm,因为如果注册表没有注册就好了。 我尝试在命令行中通过mt工具生成一个单独的清单,’mt.exe -tlb:Client.tlb -dll:Client.dll -out:Client.manifest’ 然后我想我可以合并2清单:’mt.exe -manifest program.exe.manifest client.manifest -out:program.exe.manifest’ 但是,当我运行程序时,我收到一个消息框,显示“运行时错误-2147220999(800401f9):自动化错误,Dll中出错” 我上面做的正确,任何人有类似的经验,任何帮助赞赏。