Форум » GUI » GuiServer » Ответить

GuiServer

alkresin: Привет всем! Представляю свой новый проект - GuiServer. Это инструмент, предоставляющий GUI-функциональность программам, написанным на разных языках, позволяющий создавать для этих языков GUI-фреймворки. Работает это так. Ваша программа при старте запускает GuiServer, присоединяется к нему по tcp/ip и посылает команды-запросы на создание/модификацию GUI-элементов. Естественно, осуществляется и обратная связь. Т.е., в целом ваша программа состоит из двух процессов - основного и GUI, роль которого исполняет GuiServer. Запуск GuiServer'а, соединение и поддержку связи берет на себя небольшая библиотека, которую надо написать дл каждого конкретного языка. Подробнее см. здесь: http://www.kresin.ru/guisrv.html. Сам проект находится на https://github.com/alkresin/guiserver Библиотека для языка Go (для него я это первоначально и затеял): https://github.com/alkresin/external Есть библиотека и для Harbour. Возможно, для него она будет полезна при удаленном запуске, т.е., когда основная программа работает на одном компьютере, а ее интерфейс - на другом.

Ответов - 22, стр: 1 2 All

alkresin: Guiserver теперь можно собрать как библиотеку, чтобы удобнее было писать Harbour+HwGUI приложения, используя возможности Golang. Вот простой пример: [pre2]#include "hwgui.ch" Function Main Local oMainWindow INIT WINDOW oMainWindow MAIN TITLE "Example" AT 200,0 SIZE 400,150 MENU OF oMainWindow MENUITEM "&Exit" ACTION hwg_EndWindow() MENUITEM "&Mandelbrot" ACTION pgo( "fu1",{"1"} ) ENDMENU gs_run( "test14lib.exe" ) ACTIVATE WINDOW oMainWindow Return Nil [/pre2] Здесь функция gs_Run() инициализирует соединение с написанной на Go программой test14lib.exe. Программа загружается, соединяется с нашей и ждет от нее команд. Функция pgo() вызывает функцию из go-программы. Таким образом можно достаточно просто реализовать многие вещи, которые Harbour делает не очень хорошо, или вообще не делает.

alkresin: Написал здесь подробнее об использовании GuiServer как библиотеки.



полная версия страницы