VB7终于成功上市,3年蛰伏10年磨一剑,代替VB6指日可待

 twinBASIC 在 VBForums 上拥有自己的论坛

经过近三年的时间,twinBASIC 终于在 VB6 讨论网站上有了一个专门的论坛,VBForums。

由于最初的 twinBASIC 帖子有超过 1,750 条回复,浏览量接近 100 万(!),因此已经远远超出了专门论坛的时间:

韦恩在新论坛的帖子中宣布了这一里程碑:


你好!向所有 vbforums 成员致以热烈的问候,twinBASIC 更新:2024 年 1 月 14 日

我很高兴看到 twinBASIC 社区的这一重要里程碑。感谢 vbforums 团队的大力支持和奉献,我们现在在这里拥有了自己的子论坛!这不仅是一个新的讨论空间,也是一个新的讨论空间。它是创新、学习和协作的中心。

首先,衷心感谢 vbforums 团队。我们非常感谢您对 twinBASIC 的信任以及为我们社区提供平台的承诺。你们的努力为 twinBASIC 爱好者提供了一个可以称之为家的地方,对此,我由衷地表示感谢。

对于所有参与我们旅程的人和刚刚加入我们的人,欢迎!twinBASIC 不仅仅是一种编程语言;这证明了当我们对技术和创造力怀有共同的热情时我们能够取得什么样的成就。无论您是经验丰富的程序员还是刚刚起步的程序员,这个论坛都适合您。深入讨论、分享您的项目、提出问题并帮助他人。您的见解和经验使这个社区充满活力和独特。

展望未来,有很多事情值得兴奋。今年,twinBASIC 充满了更新和新功能。虽然我不想太快透露太多,但我向您保证,有很多理由值得您继续关注。我们致力于使 twinBASIC 更加强大、用户友好且多功能,

那么,让我们开始吧!尝试 twinBASIC,参与论坛,并参与塑造这个令人难以置信的工具的未来。我们将共同努力,继续突破可能的界限。

感谢您的热情和支持。祝您在 twinBASIC 分论坛中开启一段奇妙的旅程!

最好的问候,

韦恩·菲利普斯

亮点包括 VBForums 上的专用 twinBASIC 论坛、本周五即将发布的测试版的新预告图片以及 fafalone 的几个项目。

  • 迈克·沃尔夫

2024 年 1 月 14 日 •10 分钟阅读

twinBASIC 更新:2024 年 1 月 14 日

2021 年 4 月 23 日,我在Access DevCon 维也纳会议上帮助Wayne Phillips向世界介绍了twinBASIC。我大胆预测到 2025 年,twinBASIC(以及 Monaco 编辑器)将取代 VBA 及其过时的开发环境。考虑到这一目标,每周更新是我试图让该项目在 VBA 开发社区中保持新鲜感的尝试。

每个周日,我都会提供有关该项目状态的更新,链接到讨论 twinBASIC 的新文章,并总体上尝试增加对该项目的参与度。如果您遇到应包含在此处的项目,请发推文@NoLongerSet或向我发送电子邮件至nolongerset dot com 的mike。

以下是参与该项目的一些链接:


强调

韦恩的每周预告片

以下是即将发布的一些预告图片,暂定于 1 月 19 日本周晚些时候发布。

更新了“新建/打开项目...”对话框 UX

项目设置/参考现在是模式对话框

Wayne ]:项目设置/参考现在移至模式对话框。这是 VSCode 时代的遗留问题,当时我们无法创建模式对话框。

LIB/OBJ 文件支持

Wayne ]:以下是下一版本中即将推出的新 LIB/OBJ 文件支持的详细介绍。语法是:   Import Library "filepath" As <Namespace> Link <DependenciesList>. 然后,用于的符号可以在参数的语句<Namespace>中使用,如图所示。DeclareLib

键盘快捷键定制

Wayne ]:对于下一个版本,所有常规 IDE 操作现在都具有与其关联的命令 ID,因此我们现在内置了键盘快捷键自定义,以便您可以将任何键盘快捷键分配给任何这些新命令 ID。目前有 205 个命令可用。

[编者注]:有关可用命令 ID 的完整列表,请参阅Discord

与此相关的是,执行命令 ID 也将通过可扩展性模型公开,这意味着 twinBASIC IDE 插件也将能够直接调用所有 IDE 命令。

[韦恩]:这个新的基于命令的系统将会有很大的发展。现在,我们已经完成了宏记录器 80% 的工作。

格式菜单揭晓

Wayne ]:格式菜单现已全部实施,为下一个版本做好准备

新的“光”主题

Wayne ]:只是调整新的“light”

Discord 聊天摘要

*通过 poe.com 上的 Claude-2-100k 自动生成

以下是 General 频道 Discord 聊天记录中关于过去一周 twinBASIC 开发的要点摘要:

介绍

常规频道涵盖了与新编程语言 twinBASIC 的持续开发相关的广泛主题,该语言旨在成为经典 Visual Basic 6 语言的现代复兴。

主要亮点
  • 新版本计划于 1 月 19 日发布,其中将包括许多预期的功能,例如静态库链接支持、IDE 键盘快捷键等。社区中充满了兴奋。

  • 实现功能齐全的 IDE 的工作仍在继续,包括项目引用的模式对话框、新的格式菜单和浅色/深色主题等改进。

  • 讨论在 v1.0 发布之前何时以及在多大程度上公开推广 twinBASIC 的最佳实践,平衡利益与设定适当的期望。

  • 围绕 IDE 本地化、宏记录、git 集成和多线程支持等潜在新功能进行讨论。

  • 解决用户在其项目中尝试 twinBASIC 时出现的各种错误和限制。

结论

这些对话显示了 2024 年 v1.0 版本目标的进展,包括完成关键 IDE 功能和语言功能。随着 twinBASIC 变得更加强大,社区的兴趣和参与度持续稳定增长。人们对即将到来的 1 月份版本和 1.0 版本的后续进展仍然充满期待。

tbShellLib 现在是 WinDevLib

这是 fafalone 的两个主要项目发布之一,我在之前的每周更新中完全忽略了它(对不起乔恩!)。好的一面是,最近有一个重要的错误修复,现在可供任何第一次查看该项目的人使用。

以下是人工智能生成的项目摘要:


WinDevLib 简介:twinBASIC 开发的一次飞跃

WinDevLib以前称为 tbShellLib,是专为 twinBASIC 定制的扩展 Windows 开发库。它代表了超出其最初范围(主要关注 shell 编程)的重大演变。该库现在提供类似于在 C++ 中使用的全面 Windows API 体验windows.h,标志着一个更符合其提供通用 Windows 开发工具包的更广泛目标的转变。

什么是新的?
  • 重命名:为了反映其更广泛的范围,tbShellLib 已更名为 WinDevLib,并对编译器常量和模块名称进行了相应更新,例如,tbShellLibImpl 现在为 WinDevLibImpl。
  • 增强的 Intellisense:借助 twinBASIC 的 Beta 版本 368 及更高版本,得益于缓存和其他优化,Intellisense 性能得到了显着提高。这一增强功能使 WinDevLib 更加用户友好且响应迅速。
  • 当前版本:该库不断更新,截至 2024 年 1 月 10 日最新版本为 7.2.301。
关于该项目

WinDevLib 由 Jon Johnson (fafalone) 创建,是oleexp.tlb和 VB6 的现代 Shell 接口类型库项目的直接继承者。它与x64系统完全兼容,克服了midl生成的64位类型库的限制。该项目通过使用 twinBASIC 友好类型提供对 Windows shell 和组件接口的访问,解决其他导入参考中常见的无符号类型、C 样式数组和双指针问题,为 twinBASIC、VB6 和 VBA 社区提供服务。

图书馆特色
  • COM 接口覆盖:WinDevLib 包含 2,200 多个常见 COM 接口,确保习惯于使用其他语言的 COM 的开发人员的兼容性和易用性。
  • Windows API 集成:该库现在包含约 5,500 个手工审核的 Windows API,经过恢复以实现 64 位兼容性,并进行了精心策划以避免自动转换工具中发现的错误。
  • 枚举和智能感知:通过将常量组转换为枚举,WinDevLib 利用 twinBASIC 的高级智能感知功能,该功能现在支持 API 定义中的更多类型。
  • 原生 twinBASIC 实现:作为 twinPACKAGE,WinDevLib 受益于 twinBASIC 对接口和组件类的原生支持,允许在同一项目中无缝集成定义和常规代码。
为什么使用 WinDevLib?

WinDevLib 无需手动定义接口及其依赖项,从而简化了开发过程。它被设计为一种即插即用的解决方案,可大大减少新项目的设置时间和工作量。凭借其广泛的 API 覆盖范围,它旨在满足大约 99% 的核心系统 DLL 需求,使其成为 twinBASIC 开发人员不可或缺的工具。

结论

WinDevLib 是任何 twinBASIC 开发人员工具包的重要补充,提供了一组丰富的功能和改进,可简化开发过程。它从 tbShellLib 到 WinDevLib 的转变反映了它的成长以及为 twinBASIC 程序员提供强大而全面的开发库的承诺。

如需更多信息以及贡献或利用这个不断发展的库,我们鼓励开发人员访问 GitHub 上的 WinDevLib 项目页面。

(c) 2022-2023 乔恩·约翰逊(法法龙)


DevExplorer:Windows 设备管理器的 twinBASIC 克隆

fafalone 最近发布的第二个大型项目是他的 Windows 设备管理器克隆版本DevExplorer

最初的概念验证逐渐演变成全面的替代品。  

在实施过程中,fafalone 偶然发现了这个项目使用 twinBASIC 而不是 VB6 的一个重要原因:

目前,在 twinBASIC 中执行此项目有一个不寻常的原因:启用/禁用/删除 API(至少)不允许 32 位应用程序在 64 位 Windows 上调用它们——API SetupDiCallClassInstaller将失败并显示 ERROR_IN_WOW64,如 MSDN 上所述。此外,属性中有一个“资源”选项卡,在 WOW64 下不会加载。我还没有在 WOW64 上彻底测试其余功能,但最重要的是,您需要大量的解决方法和技巧才能在 VB6 中完成相同的任务,因为 WOW64 下不允许使用大部分硬件设置功能。

以下是人工智能生成的项目概要:


DevExplorer 简介

DevExplorer 是一个成熟的设备管理应用程序,类似于本机 Windows 设备管理器,使用 twinBASIC 创建。该项目最初的设想是测试设备启用/禁用功能,现已发展成为一个综合工具,具有一套有效管理系统设备的功能。

主要特征
  • 设备管理:用户可以直接从应用程序启用/禁用、删除、卸载、更新驱动程序或弹出设备。
  • 隐藏设备:它能够列出已安装但当前不存在于系统中的“隐藏设备”。
  • 问题指示器:该应用程序使用覆盖图标(类似于本机设备管理器)指示存在问题的设备,并从系统中获取问题描述。
  • 设备属性:双击设备可打开其属性,其中包含专用的“资源”选项卡,该选项卡在 WOW64 下无法访问。
  • 更新驱动程序向导:简化更新设备驱动程序的过程。
  • 管理权限:大多数功能都需要以管理员身份运行应用程序,使其能够执行各种操作。

该项目利用本文前面概述的 WinDevLib 包来弥补 32 位和 64 位环境之间的差距。WinDevLib 也是由 Jon Johnson (fafalone) 创建的,它提供了必要的 Windows API 功能,以确保 DevExplorer 可以跨不同体系结构有效运行。

DevExplorer 旨在为设备管理提供简单的解决方案,提供可以轻松集成到开发人员工作流程中的工具。它继承了 WinDevLib 的一套全面的 API,使其能够以与本机 Windows 应用程序相同的深度和控制水平与系统设备和资源进行交互。

DevExplorer 结合了 twinBASIC Intellisense 的最新改进并利用了 WinDevLib 的 64 位兼容性,它被定位为希望在各种版本的 Windows 操作系统上管理设备的开发人员的实用工具。它是 twinBASIC 在现代计算基础设施中更新和维护遗留软件潜力的功能展示。


在 twinBASIC 中使用 Windows 成像组件

这就是我忽略 twinBASIC Discord 中 Show-and-Tell 频道的更新,然后去度假一周所得到的结果。这是 fafalone 的另一个新项目,这是与 Windows 成像组件交互的 VB6 演示的直接移植。

以下是通过VBForums提供的原始 VB6 演示的介绍:

简介
自 Vista 起,Windows 成像组件就包含在 Windows 中,但从 VB 中使用它并没有简单的方法,尤其是因为许多变量和指针类型不兼容。我现在已将这些接口转换为可与 VB 配合使用,并将它们添加到我的 Modern Shell Interfaces 类型库中(在 4.62 版本中添加,于 2019 年 10 月 20 日发布)。

该项目提供了基本介绍。您可以加载 JPG、PNG、GIF、BMP、TIF 或 ICO 类型的文件;然后缩放它(或不缩放 - 您可以跳过缩放并将其另存为新格式)并将其转换为 PNG 或 JPG。JPG 支持设置图像质量百分比(它将出现在“另存为...”对话框中)。

以下是通过Discord对 twinBASIC 端口的介绍:

我想看看我的 WIC 演示是否能在 tB 中运行。很高兴地报告 VB6 项目的初始导入工作完美无缺。从那里我重写了 64 位。值得注意的是,WinDevLib API 模块使这变得容易得多:我所做的只是将它们注释掉,而不是遍历并更新所有 Win API def,让 WinDevLib 除了从 oleexp 接管 COM 接口之外还接管这些定义。在出现一个小问题(WinDevLib.IStream 中的主要错误,现已修复)之后,需要修改的只是删除一些 oleexp。限定符,将 GetObject 切换为 GetObjectW(因为内在版本获得优先级),并将句柄/指针更改为 LongPtr。

前往Discord show-and-tell 频道下载该.twinproj文件以及包含原始 VB6 项目和未经修改的 tB 导入的 zip 文件。

变更日志

以下是过去一周的更新。您还可以通过访问 GitHub twinBASIC 版本页面找到此信息。

twinBASIC 更新:2024 年 1 月 14 日
原英文:https://nolongerset.com/twinbasic-update-january-14-2024/

最近更新

  1. TCP协议是安全的吗?

    2024-01-18 18:28:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-18 18:28:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-18 18:28:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-18 18:28:01       20 阅读

热门阅读

  1. 运用虚拟空间建造网站的缺点

    2024-01-18 18:28:01       35 阅读
  2. vue3基础: 组件注册

    2024-01-18 18:28:01       37 阅读
  3. 数据库Mysql学习day01课堂笔记

    2024-01-18 18:28:01       38 阅读
  4. 60.Spring事务实现基本原理

    2024-01-18 18:28:01       35 阅读
  5. 设计模式之多线程分工模式--- Thread-Per-Message模式

    2024-01-18 18:28:01       33 阅读
  6. 设计模式之多线程分工模式---Worker Thread模式

    2024-01-18 18:28:01       42 阅读
  7. Template -- React

    2024-01-18 18:28:01       34 阅读
  8. css盒模型

    2024-01-18 18:28:01       35 阅读
  9. Docker教程 Dockerfile 标签介绍

    2024-01-18 18:28:01       34 阅读
  10. 学习记录1.14

    2024-01-18 18:28:01       27 阅读
  11. SQL两表/多表关联查询--JOIN语句

    2024-01-18 18:28:01       39 阅读
  12. 【期末总复习】计算机视觉理论与实践

    2024-01-18 18:28:01       33 阅读
  13. 网络配置以及命令详解

    2024-01-18 18:28:01       29 阅读
  14. k8s-pod的控制器

    2024-01-18 18:28:01       34 阅读
  15. MYSQL自连接、子查询

    2024-01-18 18:28:01       33 阅读
  16. 面试经典150题(85-87)

    2024-01-18 18:28:01       34 阅读
  17. 军事课堂MR情景仿真实训教学

    2024-01-18 18:28:01       36 阅读