Подтвердить что ты не робот

Простейшие шаги по преобразованию TCL TK в автономное приложение

После запуска серьезных проблем совместимости с С#, ASP.NET, MS Access, Linux и Mono я решил программировать на языке, который является кросс-платформенным, открытым исходным кодом и совместим со встроенными базами данных, которые также совместимый со многими платформами. Я сузил свой выбор до TCL.

До того, как я начал образец приложения с TCL, я хотел видеть, как легко было создать автономное приложение. Я купил книгу под названием "Практическое программирование в TCL и TK", загрузил TCLkit и FreeWrap, но у меня возникли проблемы с поиском методологического способа преобразования TCL в TK (Wish) в автономное приложение.

Кто-нибудь сможет предоставить простые шаги для преобразования TCL TK script, например ярлыка с текстом на него, в приложение или веб-ресурс, который имеет довольно прямое объяснение?

4b9b3361

Ответ 1

Чтобы построить звездолет, вам понадобится a) tclkit runtime, b) sdx.kit. Вам также нужен "basekit" , исполняемый файл, который будет обернут вашим кодом tcl. В этом примере я предполагаю, что вы создаете приложение для той же платформы, на которой работаете. Вы можете создать базовый файл, просто скопировав tclkit (или tclkit.exe на windows) на другое имя, например "basekit"

% ls
sdx.kit tclkit
% cp tclkit basekit
% ls
basekit sdx.kit tclkit

Теперь создайте код, который вы хотите поместить в исполняемый файл. Соглашение заключается в создании каталога с именем вашего приложения и суффиксом ".vfs" (для "виртуальной файловой системы" ), а затем создайте файл с именем "main.tcl" в этом каталоге:

% mkdir myapp.vfs
% cat > myapp.vfs/main.tcl
package require Tk
label .l -text "Hello, world"
pack .l
^D
% ls myapp.vfs
main.tcl

Теперь сделаем обертку: для этого вам понадобится файл sdx.kit. Предполагая, что это и tclkit (или tclkit.exe) находятся в вашем текущем рабочем каталоге, вы переносите свое приложение следующим образом:

% ./tclkit sdx.kit wrap myapp -runtime basekit
1 updates applied
% ls 
basekit myapp myapp.vfs sdx.kit tclkit

Команда wrap знает, когда вы даете ей аргумент "myapp", что он должен обернуть содержимое myapp.vfs и что он должен искать файл с именем "main.tcl" в этом каталоге, чтобы быть точкой входа в программу, Вы можете разместить любые другие файлы в этом каталоге, и все они будут обернуты, включая бинарные файлы, специфичные для платформы, файлы изображений и все, что вы хотите связать.

Теперь у вас есть исполняемый файл "myapp", который является завернутым приложением.

Если у вас есть tclkits для разных архитектур, вы можете их использовать (заменив "basekit" в командной строке набором для целевой архитектуры), чтобы скомпилировать другие платформы.

Для получения дополнительной информации см. Как создать свой первый Starpack на Tcl 'wiki