Aioga
AI资讯 / 行业动态
返回 AI资讯

微软 2007 年停止支持的 FoxPro 重获新生:FoxDev Studio 让旧项目在现代机器上原样运行

Hacker News 热门(buzzing.cc 中文翻译)Aioga 编辑团队2026-09-22T22:51:26.000Z热度 58

FoxDev Studio 让 Visual FoxPro 项目无需重写、转换或导出即可在现代机器上打开并运行,项目、表单、类库、菜单和报表直接读取原有文件。

行业动态Hacker News 热门(buzzing.cc 中文翻译)

今日 AI 情报摘要

FoxDev Studio 让 Visual FoxPro 项目无需重写、转换或导出即可在现代机器上打开并运行,项目、表单、类库、菜单和报表直接读取原有文件。

中文正文 · AI 翻译

FoxDev Studio 打开你已有的项目、表单和表格,并以你记忆中的方式运行它们:无需重写、无需转换、无需导出步骤。

将它指向一个你多年未打开的文件夹,你得到的内容就是那里存在的内容。

项目、表单、类库、菜单和报表直接从你已有的文件中打开。没有任何东西需要首先迁移,也不会有任何东西被遗留。

表单、类、菜单和报表在你期望的位置被编辑,旁边是项目管理器、命令窗口以及会在你的行停下的调试器。

表格、索引、备忘录和数据库在原地读写。之后磁盘上的内容仍是之前的文件类型。

系统调用、自动化对象以及你的应用所依赖的旧增补库继续工作,因此没人想动的部分保持不变。

IDE,运行在 Visual FoxPro 的示例项目上。每张图片都是一次真实的会话。

Visual FoxPro's Solution sample running on the Screen tab: its samples launcher form with an outline of ActiveX, Controls, Databases and Forms samples, beside a project explorer listing the project's forms, menus, programs, class libraries, databases, free tables and reports; the status bar says Waiting for events.
The program editor with a FormsUI sample open, the linter marking a syntax error inline on a FOR line, and the Output and Command windows below.
The debugger stopped on line 26 of the Solution sample's main program, one step past a breakpoint on line 25: the current line highlighted, and below it the Output window, the call stack, the locals, a watch box and the breakpoints list.
The table browser showing the 17 records of a database container, with its memo fields as links, beside a project explorer listing forms, menus, programs, class libraries and databases.
A FoxScript program registering HTTP routes with lambdas, calling a 32-bit encryption library from inside one, and the Output window reporting that the server is listening on port 8080.

小差异会破坏旧应用:一列数字打印得太宽,事件晚了一点到达,或者错误的编号显示在错误信息上。因此这里的行为是通过询问 Visual FoxPro 本身并匹配其答案来确定的,而不是通过阅读参考页并抱有希望。

由此产生的是一个全新编写的运行时:启动快速、自我封闭,并且直截了当地处理尚未涉及的角落。

Visual FoxPro 停留在 9 版本,并且是 32 位。这是同一种语言,重建在自 2007 年以来未冻结的基础上。四个要素使其成为可能。

Visual FoxPro 是一个 32 位程序,而这决定了比表面更多的事情。它解释了为什么表格在两千兆字节时停止,为什么备忘录文件在两千兆字节时停止,以及为什么在有充足内存的机器上大型报表会耗尽内存。这些限制是埋在文件处理中的有符号 32 位数字,而不是任何人做出的许可决定。

FoxDev Studio 全程为64位。每个文件偏移量都是64位,表格从不读入内存,因此曾经会卡死的 .dbf 文件现在可以处理到数百GB。有一点需要注意:超过两GB的表格将无法在 Visual FoxPro 中再次打开。如果你仍然在两者中工作,这是单行道。

Visual FoxPro 将你的程序编译成 p-code 并提供运行时去执行它。FoxDev Studio 采用了同样的安排:一个由 Rust 编写并编译到 WebAssembly 的编译器和字节码解释器,因此无论应用运行在哪里,一台机器都可以运行你的代码。编辑器通过同一个编译器检查你输入的内容,因此标记错误的地方与运行时拒绝执行的地方不会偏离。

运行中的程序是一个纤程。当它需要外部世界的某些东西(消息框、模态窗口、下一条记录)时,它不会调用并阻塞;它会让出,工作在机器从堆栈上移开时完成,然后将答案返回。这就是为什么 MESSAGEBOX() 会阻止程序但不会冻结其背后的窗口,为什么 READ EVENTS 会等待而不占用处理器,以及为什么 SetFocus 可以触发 GotFocus,Init 可以在表单仍在构建中运行,这与 FoxPro 一直的执行顺序相同。

机器的工作原理:/docs/vm 以及它执行的内容:/docs/bytecode。

正在运行的表单是一个带有你期望属性的实时对象树,界面直接由 React 从该树绘制。每个对象只观察自己,所以 THISFORM.lblGreeting.Caption = cMsg 只会重绘一个标签,而不是整个表单。在信息密集的屏幕上,这意味着即时响应与迟缓之间的差异。

设计器编辑的也是同一棵树,只是早一步。没有第二个模型与第一步同步,这通常是表单和它的设计器开始出现不同状态的情况。

.fll 是一个 32 位的镜像,而 64 位应用程序中的每个进程都是 64 位的,所以应用程序本身内部没有任何东西能够打开它。SET LIBRARY TO 并不是告诉你这是不可能的,它启动了一个小型的 32 位进程,其唯一的工作是持有你的库,而运行时与它进行通讯。这些调用是同步的,因为程序可能在一个表达式中间调用库,如果答案稍后才到就不算答案。它是通过真实的库来测量的:加密库、FoxTools 以及从微软的 API 示例构建的库。

64 位程序不需要这个桥梁:DECLARE ... DLL 可以在同一进程中访问现代库,自动化对象也按原来的方式访问。老方法仍然可用;只是现在不再是唯一的方法。

你写的所有东西仍然保持原来的含义。FoxScript 只是在上面添加了:一个你可以交给别的东西以后运行的块,以及从已经了解你业务的代码中回答 Web 请求的方式。

每一行都运行在与你的表单相同的运行时上。查询、光标和库调用是普通的 FoxPro;lambda 和服务器是 FoxScript 添加的:无需第二种语言,也无需在旁边启动服务。关键字:/docs/foxscript 和 HTTP API:/docs/http-api 都有完整记录。

每晚构建一次 nightly,基于每次推送到主分支的代码,并作为预发布版发布在 GitHub 上。未签名,因此首次启动时会要求你进行确认。

产品的每个部分都已记录,包括尚未存在的部分。

已规划的工作,大致按构建顺序排列。

FoxDev Studio 是一个独立项目,并且仍在成长中。文档:/docs 说明了它的位置及下一步去向。

Visual FoxPro 是微软公司的注册商标,这里仅用于指示正在实现的语言。

情报判断

Aioga 编辑摘要

Aioga 编辑摘要:FoxDev Studio 让 Visual FoxPro 项目无需重写、转换或导出即可在现代机器上打开并运行,项目、表单、类库、菜单和报表直接读取原有文件。 Aioga 将其归入「行业动态」方向,重点关注它对真实使用和行业竞争的影响。

背景分析

背景分析:公司与行业类动态需要放在竞争格局、商业化路径、资本信号和监管环境中观察,单条公告不能代表最终结果。

Aioga 观点

Aioga 判断:这条动态更适合作为行业观察信号,当前信息足以建立线索,但不足以推导长期结论。

影响与后续

影响分析:对相关团队而言,短期应先核对来源、可用范围和实际成本,再判断是否值得接入或跟进。 后续观察:继续观察官方文件、合作落地、收入或用户信号、竞品动作和监管后续。

来源与版权说明

本页正文由公开来源页面提取并按原有信息整理,同时保留来源、发布时间和原文入口。版权归原作者及来源网站所有,请通过原文链接核验和阅读来源版本。

抓取通道: 摘要聚合 · 原始域名: foxscript.org

来源: Hacker News 热门(buzzing.cc 中文翻译)

原文链接: 打开原始来源

Aioga 归档: 查看情报页

Content record: source-page · Updated: 2026-09-22T22:51:26.000Z

API 中转站
API RELAY · DEVELOPER INFRASTRUCTURE

API 中转站

统一接入主流 AI 模型 API,为开发、测试与生产环境提供稳定调用入口。

立即访问 api.w173.com
AIOGA SHARE POSTER

分享这篇 AI 情报

FoxDev Studio 让 Visual FoxPro 项目无需重写、转换或导出即可在现代机器上打开并运行,项目、表单、类库、菜单和报表直接读取原有文件。

Hacker News 热门(buzzing.cc 中文翻译)2026-09-22T22:51:26.000Z
扫码打开文章详情扫码直达文章详情

Aioga 自动聚合全球 AI 动态,并保留来源信息用于核验与引用。