有没有办法阻止 VB6 编译器打乱文件内容?

2023-11-30

由于未知的原因,VB6 编译器通常喜欢重新排序 .vbp 文件的内容和 .frm 文件顶部的控件描述符块(描述表单上控件属性的代码。您在IDE,但您确实可以在文本编辑器中看到在版本控制中与先前版本进行比较时.)。在比较文件的修订版本时,这非常烦人并且非常分散注意力。

有办法防止这种情况吗?


我认为你对此无能为力。我注意到同样的问题:IDE 喜欢重新排列事物,但似乎没有明显的原因。我注意到的一些事情:

  • 当您使用 SSTab 控件时,VB 喜欢重新排列属性 选项卡,尤其是 TabEnabled 财产。

  • 对于项目文件,它是随机的 重新排列文件的顺序 出现了,我想我记得看到过 类似文件类型的情况 并不总是组合在一起并结束 与项目混合在一起 特性。你没有 对此有很大的控制权,除非您通过某种类型的清理程序运行所有 VBP,该清理程序将类似文件分组在一起(一组中的表单,另一组中的模块等)并按字母顺序或其他方式对它们进行排序,以便它们保持一致。处理这个问题的一种可能方法是编写一个 IDE 插件,每次您将更改保存到项目文件时,它都会自动执行此操作,或者提出一些批处理过程,该过程将在源目录上递归并清理所有 VBP一试。

  • IDE 似乎随机更改 事情的情况;这似乎发生了 经常参考项目。 有时它们的输出较低 情况,其他时候他们是 输出为大写。你可以得到 通过选择“忽略”来解决这个问题 区分文件时的情况” 来源安全。

  • 控制坐标,例如 顶部、左侧、高度和宽度可能有所不同 同一表格的两次修订。这个到期了 给不同的开发者使用 不同的屏幕分辨率和/或 在处理同一表单时使用不同的屏幕 DPI 设置。 如果你还没有这样做,我 强烈推荐你得到 每个人都使用相同的开发 分辨率和相同的 DPI 设置。 不同的值是由舍入误差引起的 逻辑屏幕时发生 不同分辨率/DPI 设置下的坐标 转换为缇,默认 VB 使用的坐标空间 布置表格。另外,当我谈论这个话题时, 确保每个人都将显示器设置为 96dpi, 因为如果您在以下位置开发 VB 表单 120dpi,有一个真的真的很好 它们可能无法正确显示 在设置为 96dpi 的显示器上。

  • 我可能还有其他事情 现在记不清了...

至于表单文件中控件的顺序发生更改,这是正常的,如果碰巧从表单的一个版本更改为下一个版本,您通常不想尝试手动重新排列控件的顺序。控件在表单文件中出现的顺序决定了它们在表单上的 Z 顺序。如果 .frm 文件中控件的顺序发生变化,这将改变它们在窗体上的相对 Z 顺序,这可能会导致窗体的显示方式出现意外结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法阻止 VB6 编译器打乱文件内容? 的相关文章

  • VB6.dll获取调用应用程序路径

    我正在从 VB6 制作一个 dll 我需要知道将使用该 dll 的应用程序的路径 但我不知道如何执行此操作直接来自 dll 有人知道该怎么做吗 先感谢您 嗯 这似乎可以作为 DLL 工作 Option Explicit Private Co
  • VBA/VB6 中的 NaN 测试

    我使用 VBA 将字节数组中的 8 字节浮点数加载到 Double 中 有些数字将为 IEEE 754 NaN 即 如果您尝试使用 Debug Print 打印它 您将看到 1 QNAN 我的问题是 如何测试 Double 中包含的数据是否
  • VB中如何获取当前可执行文件的完整路径?

    我使用 VB 创建了一个 Windows 应用程序 每当我执行exe 我想获取当前目录exe以编程方式归档 例如 现在 我正在执行exe文件输入d myApp test exe 每当我双击exe我想获取文件的路径exe文件如d myApp
  • 从 C# 创建 COM 索引属性?

    我正在尝试用新的 net dll 来模仿旧的 vb6 dll 模仿必须是完美的 以便调用者不知道他们正在使用新的 dll 不过我有一个好奇心 在 VB6 中 对象库中有以下内容 Property BankList Index As Long
  • VB6中列出文件夹中指定类型的所有文件的任何函数

    我想知道是否有一些内置函数适用于下面描述的场景 输入是父文件夹的路径 该函数必须做的是 它应该列出该父文件夹内的所有 zip 文件 父文件夹可以包含任意数量的子文件夹 这同样适用于子文件夹 任何人都可以帮我解决这个问题吗 VB版不是路障 V
  • 从 VBScript 读取 DLL(或 VB6)文件

    我正在尝试使用 VBScript 访问 VBA 文件 或 DLL 中的函数 我有点力不从心 而且我通常不使用这两种语言 所以我会解释一下情况 以防有更好的解决方案 我有一个仪器 它有一个类似 VBScript 的内部窗口 它具有 VBScr
  • 用VB6生成Excel文件

    我正在寻找有关这个具体问题的建议 在 Visual Basic 6 VB6 中生成 Excel 文件 常规 XLS 而不是 XLSX 的最快方法是什么 多谢 最简单的方法是在项目中设置对 Excel COM 对象的引用 并以编程方式将所有数
  • 如何在没有 VS 6.0 的计算机上安装 Microsoft FlexGrid Control 6.0?

    我的 VB NET 应用程序使用 Microsoft Flex Grid Control 6 0 这是一个遗留应用程序 已通过 Visual Studio 转换向导从 VB6 移植 虽然我可以编译程序集 但由于某些类未注册 我收到了 COM
  • VB6杀死定时器

    我使用 VB6 进行编程 因为我们使用的是遗留代码和硬件 外部电子设备 我的程序是围绕计时器构建的 我将在操作系统编程中使用任务 计时器一直运行 直到其工作完成 设置一个标志并启动另一个计时器 我想要一个监督计时器来控制其他计时器当计时器没
  • 系统错误 &H80004015 (-2147467243)。该类被配置为作为与调用者不同的安全 ID 运行

    当尝试使用 Visual Studio 6 0 调试 VB dll 时 出现以下错误 有谁能告诉我为此需要做什么吗 系统错误 H80004015 2147467243 该类被配置为作为 安全 ID 与呼叫者不同 我曾经也有过一样的问题 创建
  • C# - 编写 COM 服务器 - 映射到方法的属性

    我们正在尝试替换最初为 VB6 应用程序编写的 COM 服务器 我们无法访问源代码 由于某种原因 VB6 应用程序可以调用我们的构造函数 但随后它会得到 系统错误 H80004002 没有这样的 接口支持 我假设当它尝试使用 QueryIn
  • VB6 应用程序调用 .NET DLL OutOfMemory 异常

    我们有一个调用 NET DLL 的 VB6 应用程序 有时 在 VB6 应用程序运行很长时间并多次调用 NET 代码后 NET 方面会抛出 OutOfMemory 异常 即使计算机上有足够的可用内存 VB6 的内存空间也远未达到极限 NET
  • 为应用程序创建自定义 odbc 驱动程序

    好的 我有一个简单的数据库引擎 它是用 vb6 编写的专有产品 用于我的一个应用程序 我想为它创建一个 ODBC 驱动程序 这样我就可以将我的一些其他应用程序 需要数据库 与我的数据库引擎而不是 microsoft sql 他们当前正在使用
  • 如何重新分发使用 Crystal Reports 的 VB 6 应用程序?

    假设目标系统有 Crystal Reports for Visual Studio 2008 我如何将可执行的 VB 6 应用程序与报告文件一起分发 仅移动可执行文件和报告文件是行不通的 我想知道如何创建可再发行包 我们使用CR10 我的建
  • 添加 Windows Common Controls 6.0 时对象库未注册

    我正在尝试在 Windows 7 32 位计算机上安装 Visual Studio 6 操作系统安装是从裸机进行的 我按照提到的说明进行操作here http www fortypoundhead com showcontent asp a
  • 更新 KB 2687323 后,VB6 IDE 无法加载 MSCOMCTL.OCX

    Windows 更新安装安全更新后KB2687323 http support microsoft com kb 2687323 我的 VB6 项目无法加载 显示的错误消息是 无法加载 project vbp path MSCOMCTL O
  • 在 Matlab、VB6 和 VB.NET 程序之间发送消息的最简单方法

    我们正在将一套数据采集和分析例程从 VB6 程序升级为 VB NET VB6 和 Matlab 程序的混合体 我们希望保持系统模块化 单独的 EXE 以便我们可以轻松创建专门的独立分析程序 而无需不断升级大型应用程序 当所有程序都是用 VB
  • RS 232 中断信号

    我有一个RS232信号捕获设备 而且效果很好 我需要一些帮助来理解数据 基本上我们购买它是因为我们正在处理 80 年代末使用串行通信的机器控制器 尽管知道端口参数 但我们运气不佳 从我转储的数据来看 机器控制正在使用中断信号作为其协议的一部
  • ActiveX 组件无法创建对象

    我收到错误 ActiveX 组件无法创建对象 实际上 我有业务逻辑所在的 VB6 DLL 并且我在 VB NET 应用程序中调用该 DLL 函数 所有 DLL 都依赖于其他 DLL 我从其中一个 DLL 中收到错误 有任何想法吗 通常该错误
  • VT_DATE 类型的微秒支持

    VT DATE 变体类型是否支持微秒分辨率 请告诉我如何在VB中显示相同的内容 http msdn microsoft com en us library ms221646 aspx http msdn microsoft com en u

随机推荐