?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 的几个项目。
2021 年 4 月 23 日,我在Access DevCon 维也纳会议上帮助Wayne Phillips向世界介绍了twinBASIC。我大胆预测到 2025 年,twinBASIC(以及 Monaco 编辑器)将取代 VBA 及其过时的开发环境。考虑到这一目标,每周更新是我试图让该项目在 VBA 开发社区中保持新鲜感的尝试。
每个周日,我都会提供有关该项目状态的更新,链接到讨论 twinBASIC 的新文章,并总体上尝试增加对该项目的参与度。如果您遇到应包含在此处的项目,请发推文@NoLongerSet或向我发送电子邮件至nolongerset dot com 的mike。
以下是参与该项目的一些链接:
以下是即将发布的一些预告图片,暂定于 1 月 19 日本周晚些时候发布。
[?Wayne?]:项目设置/参考现在移至模式对话框。这是 VSCode 时代的遗留问题,当时我们无法创建模式对话框。
[?Wayne?]:以下是下一版本中即将推出的新 LIB/OBJ 文件支持的详细介绍。语法是: ??Import Library "filepath" As <Namespace> Link <DependenciesList>
.?然后,用于的符号可以在参数的语句<Namespace>
中使用,如图所示。Declare
Lib
[?Wayne?]:对于下一个版本,所有常规 IDE 操作现在都具有与其关联的命令 ID,因此我们现在内置了键盘快捷键自定义,以便您可以将任何键盘快捷键分配给任何这些新命令 ID。目前有 205 个命令可用。
[编者注]:有关可用命令 ID 的完整列表,请参阅Discord:
与此相关的是,执行命令 ID 也将通过可扩展性模型公开,这意味着 twinBASIC IDE 插件也将能够直接调用所有 IDE 命令。
[韦恩]:这个新的基于命令的系统将会有很大的发展。现在,我们已经完成了宏记录器 80% 的工作。
[?Wayne?]:格式菜单现已全部实施,为下一个版本做好准备
[?Wayne?]:只是调整新的“light”
*通过 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 版本的后续进展仍然充满期待。
这是 fafalone 的两个主要项目发布之一,我在之前的每周更新中完全忽略了它(对不起乔恩!)。好的一面是,最近有一个重要的错误修复,现在可供任何第一次查看该项目的人使用。
以下是人工智能生成的项目摘要:
WinDevLib以前称为 tbShellLib,是专为 twinBASIC 定制的扩展 Windows 开发库。它代表了超出其最初范围(主要关注 shell 编程)的重大演变。该库现在提供类似于在 C++ 中使用的全面 Windows API 体验windows.h
,标志着一个更符合其提供通用 Windows 开发工具包的更广泛目标的转变。
WinDevLib 由 Jon Johnson (fafalone) 创建,是oleexp.tlb和 VB6 的现代 Shell 接口类型库项目的直接继承者。它与x64系统完全兼容,克服了midl生成的64位类型库的限制。该项目通过使用 twinBASIC 友好类型提供对 Windows shell 和组件接口的访问,解决其他导入参考中常见的无符号类型、C 样式数组和双指针问题,为 twinBASIC、VB6 和 VBA 社区提供服务。
WinDevLib 无需手动定义接口及其依赖项,从而简化了开发过程。它被设计为一种即插即用的解决方案,可大大减少新项目的设置时间和工作量。凭借其广泛的 API 覆盖范围,它旨在满足大约 99% 的核心系统 DLL 需求,使其成为 twinBASIC 开发人员不可或缺的工具。
WinDevLib 是任何 twinBASIC 开发人员工具包的重要补充,提供了一组丰富的功能和改进,可简化开发过程。它从 tbShellLib 到 WinDevLib 的转变反映了它的成长以及为 twinBASIC 程序员提供强大而全面的开发库的承诺。
如需更多信息以及贡献或利用这个不断发展的库,我们鼓励开发人员访问 GitHub 上的 WinDevLib 项目页面。
(c) 2022-2023 乔恩·约翰逊(法法龙)
fafalone 最近发布的第二个大型项目是他的 Windows 设备管理器克隆版本DevExplorer:
最初的概念验证逐渐演变成全面的替代品。 ?
在实施过程中,fafalone 偶然发现了这个项目使用 twinBASIC 而不是 VB6 的一个重要原因:
目前,在 twinBASIC 中执行此项目有一个不寻常的原因:启用/禁用/删除 API(至少)不允许 32 位应用程序在 64 位 Windows 上调用它们——APISetupDiCallClassInstaller
将失败并显示ERROR_IN_WOW64
,如 MSDN 上所述。此外,属性中有一个“资源”选项卡,在 WOW64 下不会加载。我还没有在 WOW64 上彻底测试其余功能,但最重要的是,您需要大量的解决方法和技巧才能在 VB6 中完成相同的任务,因为 WOW64 下不允许使用大部分硬件设置功能。
以下是人工智能生成的项目概要:
DevExplorer 是一个成熟的设备管理应用程序,类似于本机 Windows 设备管理器,使用 twinBASIC 创建。该项目最初的设想是测试设备启用/禁用功能,现已发展成为一个综合工具,具有一套有效管理系统设备的功能。
该项目利用本文前面概述的 WinDevLib 包来弥补 32 位和 64 位环境之间的差距。WinDevLib 也是由 Jon Johnson (fafalone) 创建的,它提供了必要的 Windows API 功能,以确保 DevExplorer 可以跨不同体系结构有效运行。
DevExplorer 旨在为设备管理提供简单的解决方案,提供可以轻松集成到开发人员工作流程中的工具。它继承了 WinDevLib 的一套全面的 API,使其能够以与本机 Windows 应用程序相同的深度和控制水平与系统设备和资源进行交互。
DevExplorer 结合了 twinBASIC Intellisense 的最新改进并利用了 WinDevLib 的 64 位兼容性,它被定位为希望在各种版本的 Windows 操作系统上管理设备的开发人员的实用工具。它是 twinBASIC 在现代计算基础设施中更新和维护遗留软件潜力的功能展示。
这就是我忽略 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/