问题标签 [vb5]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
146 浏览

vb6-migration - 将古老的 VB5 程序迁移到更新的程序?

(非常)很久以前我写了一个 VB5 程序,由于某种原因我今天仍在使用。我花了将近 5 年的时间才完成,直到最近我才因为它的年龄而遇到问题。

事实上,只有一个部分给我带来了问题,那就是使用的 Webbrowser Control。webbrowser 控件加载网页(显然),但在过去几年中,越来越多的网站拒绝显示,因为它检测到旧版本的 IE(webbrowser 控件基本上是什么)。取而代之的是,这些网站会显示类似“您正在使用不受支持的浏览器,请更新”的消息。现在我可能可以通过提供现代浏览器的用户代理字符串来绕过这条消息,但是这些网站不再支持 IE 当然是有正当理由的。仅仅是因为 IE 真的无法渲染这些网站。

另一个问题是 webbrowser 控件显然拒绝显示安全站点 (https)。我认为是因为它使用了不再有效的旧证书。

长话短说,目前形式的程序已经到了生命的尽头。重写整个程序对我来说不是一个选择,因为这样做需要时间(可能是几年,因为它确实是一个巨大的程序)而且我根本没有时间去做。所以我猜我有两个选择:使用替代控件(我猜 VB5 不存在)或自动迁移到另一种语言。当然,所有 VB5 源代码都是可用的。

我的问题是,这有可能吗?有什么办法可以让它再次工作吗?有没有人有任何想法?还是我只有两个选择来重写程序或转储它?

0 投票
0 回答
121 浏览

https - 对来自 VB5 应用程序的 POST 请求使用 MSXML2.ServerXMLHTTP 而不是 XMLHTTP 来处理 HTTPS

我一直在使用 XMLHTTP 向带有下一个代码的 WCF(自托管在 Windows 服务中)端点发出 HTTP POST 请求(来自 VB5 应用程序),并且一切都按预期工作,

但是,由于我被要求从 HTTP 更改为 HTTPS 必须通过将证书绑定到端口来更改 WCF 以添加和 SSL 证书,并且在执行邮递员的请求时一切正常,但问题是当我尝试测试它时在我的 VB 应用程序上它不起作用,并提示我出现此错误 run time error -214669728 (800c0008) The download of the specified resource has failed。因此,在进行一些研究时,我将代码更改为使用 SeverXMLHTTP 而不是 XMLHTTP 和 setOption 来绕过证书错误,如下面的代码所示

问题是我一直在阅读,顾名思义,SeverXMLHTTP 必须用于服务器应用程序而不是客户端,因为我的 VB 在这种情况下运行。我参考了这篇文章

我担心这是否是正确的路径,但在阅读本文时 ,我认为即使这个对象指向服务器到服务器之间的通信,我也不会遇到问题。

任何人都可以指导我一点,到目前为止我在测试一切时观察到的一切都很好,但我对使用这个对象不太有经验。谢谢

0 投票
1 回答
121 浏览

sql - 将 VB6 应用程序连接到 SQL Azure 数据存储

我正在启动一个项目来修改旧应用程序以使用云数据。该应用程序是使用 Access 数据库或基于文件的 SQL Server (.mdb) 的 VB5(不知道为什么不是 VB6)应用程序 由于开发 VB 应用程序的人不愿意(或不能)完全重构应用程序,有人问我研究如何做到这一点。应用程序的完全重写可能在卡片中,但目前绝对不会。我的计划是从概念验证开始,以允许 VB 应用程序中的单个函数使用云数据存储。我计划创建一个 SQL Azure 数据库,其中包含所需的表和数据以及用于访问这些数据的 Web API(C#/.net)我自 90 年代末以来就没有使用过 VB5 或 6,但我非常熟悉它。但是,我不确定将 VB 应用程序连接到 API 以使用云数据存储的最佳方法。以下是我所知道的:我可以使用 XMLHTTP 通过 http 调用来调用 Web 服务。这将从服务器返回 XML 或 Json,我认为我需要反序列化/解析。我想知道 Soap Toolkit 是否仍然是一个可行的选项,或者其他允许调用 Web 服务并将返回的数据作为对象处理的东西 - 不需要解析。我记得在 90 年代后期使用 Soap/ROPE 很酷,因为它允许您指向包含方法/函数的 dll 并自动将它们转换为肥皂函数。或者我可以自己创建一个 com 组件来完成这项工作,这将是很多工作。有没有更好的方法让 VB5 与基于 REST 的服务通信?我可以使用 XMLHTTP 通过 http 调用来调用 Web 服务。这将从服务器返回 XML 或 Json,我认为我需要反序列化/解析。我想知道 Soap Toolkit 是否仍然是一个可行的选项,或者其他允许调用 Web 服务并将返回的数据作为对象处理的东西 - 不需要解析。我记得在 90 年代后期使用 Soap/ROPE 很酷,因为它允许您指向包含方法/函数的 dll 并自动将它们转换为肥皂函数。或者我可以自己创建一个 com 组件来完成这项工作,这将是很多工作。有没有更好的方法让 VB5 与基于 REST 的服务通信?我可以使用 XMLHTTP 通过 http 调用来调用 Web 服务。这将从服务器返回 XML 或 Json,我认为我需要反序列化/解析。我想知道 Soap Toolkit 是否仍然是一个可行的选项,或者其他允许调用 Web 服务并将返回的数据作为对象处理的东西 - 不需要解析。我记得在 90 年代后期使用 Soap/ROPE 很酷,因为它允许您指向包含方法/函数的 dll 并自动将它们转换为肥皂函数。或者我可以自己创建一个 com 组件来完成这项工作,这将是很多工作。有没有更好的方法让 VB5 与基于 REST 的服务通信?我想知道 Soap Toolkit 是否仍然是一个可行的选项,或者其他允许调用 Web 服务并将返回的数据作为对象处理的东西 - 不需要解析。我记得在 90 年代后期使用 Soap/ROPE 很酷,因为它允许您指向包含方法/函数的 dll 并自动将它们转换为肥皂函数。或者我可以自己创建一个 com 组件来完成这项工作,这将是很多工作。有没有更好的方法让 VB5 与基于 REST 的服务通信?我想知道 Soap Toolkit 是否仍然是一个可行的选项,或者其他允许调用 Web 服务并将返回的数据作为对象处理的东西 - 不需要解析。我记得在 90 年代后期使用 Soap/ROPE 很酷,因为它允许您指向包含方法/函数的 dll 并自动将它们转换为肥皂函数。或者我可以自己创建一个 com 组件来完成这项工作,这将是很多工作。有没有更好的方法让 VB5 与基于 REST 的服务通信?或者我可以自己创建一个 com 组件来完成这项工作,这将是很多工作。有没有更好的方法让 VB5 与基于 REST 的服务通信?或者我可以自己创建一个 com 组件来完成这项工作,这将是很多工作。有没有更好的方法让 VB5 与基于 REST 的服务通信?

0 投票
1 回答
30 浏览

milliseconds - 获取系统时间毫秒

我不是 VB 程序员,更不用说 Windows NT 上的 VB3 程序员了。这里的一切都是艰难而艰难的。

我所要做的就是获得系统毫秒数。所以从这里我知道这可能是可能的。

因此,我添加了以下行:

TimeValue=Gettickcount()

但该功能是未知的。所以我添加了(在代码的另一部分)

这显然适用于它的编译。除了在运行时它说: Kernel32 not found

所以我更改并编写了 Kernel32 .dll但现在它找不到 dll 我在系统上搜索 dll,我找到它(C:\WinNt\System32\ 中的 367kb )并复制 .mak 所在的位置,但现在它显示一个

加载dll时出错

现在我真的不知道还能做什么!

请注意,它是 VB3 而不是我在标签中写的 VB5。只是没有 VB3 标签。

0 投票
0 回答
66 浏览

vb6 - 我们正在尝试将 VB5 程序(50k 行)迁移到 VB6,但遇到多个错误

我们正在尝试将 VB5 程序(50k 行)迁移到 VB6。

当我们将程序加载到 VB5 中时,我们会找不到 Threed,因此我们在所有 OCX 上执行了 RegSvr32,现在我们可以正确加载。

当我们执行 Make 时,我们会遇到 pnlcolor not found、pnlstatus not found 等。许多错误是关于 activex (Thred) 成员缺失的成员。

注意:此代码可在我们多年前创建的 VM 中运行。并且在 (XP)VM 中运行至今没有错误,但我们无法将新的 DLL 加载到 (XP)VM 或运行真正阻碍开发的调试器。我厌倦了使用 MSGBOX 来调试代码。我们正在尝试将代码从 (XP)VM 中取出并在 Windows 10 或 Windows 7 中运行。

这就是我们遇到问题的地方。除了完全重写之外的任何帮助或建议将不胜感激。我们必须交付产品,并将在不久的将来开始重写。

更新:当我在组件中显示“Sheridan 3d Controls”并检查它显示的控件时,“名称与现有模块、项目或对象库冲突”