如果必须是 Delphi,那么在桌面上运行 Web 应用程序(在浏览器中)是否足以作为“桌面应用程序”?
在这种情况下,我建议使用 Delphi 附带的 Intraweb。您可以制作两个使用相同单元/表单的项目:一个使用内置网络服务器运行的 EXE,以及一个可以安装在 IIS 上的 ISAPI DLL。
这两个程序将有不同的项目文件,并且您必须在整个代码中使用一些 IFDEF,具体取决于您正在编译的版本(例如,在定义文件位置时)。
至于皮肤:Intraweb 页面带有一个设置(将 TIWTemplateProcessorHTML 设置为表单 LayoutMgr 属性),页面渲染必须在“外部”完成,因此您可以依赖正确的 HTML/CSS 渲染;并且更新外观和感觉可能就像更改 CSS 文件一样简单。
缺点是 Intraweb 的学习曲线相当陡峭,并且所有表单组件都必须是 Intraweb 组件——这可能会限制您可以做的事情(查看 IDE 中的 Intraweb 面板)。
Intraweb 文档仍然不足,我不知道它现在如何(并且您可能需要更新到标准版或专业版)。幸运的是,从Embarcadero 论坛等帖子
来看,仍然有相当多的人在构建 Intraweb 应用程序,甚至有像TMS 这样的公司提供额外的组件。
(我不再是其中之一,但这与 Intraweb 无关)