微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当前的 Tcl/Tk starpack 和正确的用例?

如何解决当前的 Tcl/Tk starpack 和正确的用例?

首先在 sqlite 网站上阅读了有关 Tcl/Tk 的桌面应用程序后,我打算尝试在 Tcl/Tk 中构建(移动)它。我在 openlibrary.org 上阅读了一些旧书,并购买了其中一本的新印刷版。它似乎是一篇不错的文本,但每次对网站的任何引用以构建 Starpack 的实用程序似乎都已过时。

我找不到 tclkit。一个声称您可以在线构建一个站点失败了。我遇到了 Freewrap,它最近于 2020 年 9 月发布,但仍落后于最新版本的 Tcl/Tk。我不明白其网站上的 ActiveTcl 是什么。

这是可以从源代码编译的东西还是只能从这些实用程序之一中获得?

我不是要批评它,而是想确保我能够在项目结束时构建一个可执行文件,并且我在正确的设置中开始。

也许我误解了一些东西。我一直在使用通过 sqlite 合并编译的 C 和 Web 扩展的本机消息传递 API 来使用浏览器作为 UI。它工作得很好;然而,在阅读了 Tcl/Tk 之后,似乎可以更有效地完成所有相同的工作,并且无需浏览器,并且在需要时仍然可以通过 Tcl 连接到服务器。我更喜欢那个。

最终,我想用预先构建的表格构建类似于高度可搜索的图书馆,类似于圣经索引的结构,这样可以快速执行跨文本搜索并进行比较,并链接到其他资源。当我有新资源可用时,我希望能够轻松地从服务器为用户添加必要的组件,以便这些资源成为可搜索内容的一部分。

我意识到这有点含糊,但这是否是 Tcl/Tk 的一个很好的用例,是否可以将其制作成一个 Starpack,如果可以,在哪里可以找到当前的实用程序或制作方法

>

谢谢。


遇到这个 article 很有帮助。最近还有一本书是2017年的。

解决方法

starkit 是一种存档格式(基于 Metakit 单文件数据库格式),已用于分发 Tcl 应用程序和扩展;这些可以是特定于平台的或跨平台的,具体取决于您放入的内容。 Tclkit(或来自 Kitgen 的更现代版本)是一个单文件 Tcl 发行版,可以读取和执行 starkit;它自然是特定于平台的。 starpack 是 tclkit 基础运行时和 starkit 打包应用程序的组合。

由于整个 starkit/tclkit 系统基于 Tcl 的虚拟化文件系统支持,您几乎可以在 *kit 中放入任何您想要的东西,包括扩展 DLL。 关于它唯一不是一个放入数据库的好主意(例如 SQLite DB 文件);虽然您可以将副本放入其中,但您需要将其解压缩以供使用。我提到这一点是因为听起来包含一个数据库非常适合您的应用程序。

对于更新,最简单的方法是让用户下载应用程序的新副本。由于您可以将其制作成一个预先打包的文件,因此他们很容易处理更新。 (您可以进行自动更新,但随后您必须跟踪保存更新的文件;并非所有平台都允许更新正在运行的可执行文件。)


Tcl 8.7 将包含用于执行类似操作的打包技术,但基于不同的文件格式。不过,这一切仍然是 alpha。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。