<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[QUIK -> DDE &mdash; Визуальный интерфейс IUP LUA в QUIK]]></title>
		<link>https://quik2dde.ru/viewtopic.php?id=25</link>
		<atom:link href="https://quik2dde.ru/extern.php?action=feed&amp;tid=25&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Визуальный интерфейс IUP LUA в QUIK».]]></description>
		<lastBuildDate>Fri, 20 Jun 2014 09:04:52 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Визуальный интерфейс IUP LUA в QUIK]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=583#p583</link>
			<description><![CDATA[<p>Подскажите можно ли строить на библиотеке&nbsp; iupLUA динамические графики? Нужно сделать график который меняется на месте, т.е. нет по оси X шкалы времени. Скачал с официального сайта iup примеры этой библиотеки, но не одного примера с динамическим изменением графика не нашел. Не совсем понимаю механизм обновления графика.<br /> Может данный функционал позволяет делать сам qlua через индикаторы?&nbsp; Или может с помощью другой библиотеки можно это сделать, или проще использовать другой язык создав dll и подключив к qlua?</p>]]></description>
			<author><![CDATA[null@example.com (axel)]]></author>
			<pubDate>Fri, 20 Jun 2014 09:04:52 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=583#p583</guid>
		</item>
		<item>
			<title><![CDATA[Re: Визуальный интерфейс IUP LUA в QUIK]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=360#p360</link>
			<description><![CDATA[<p>Да на самом деле не в скрипте даже дело. Достаточно просто подключить библиотеку из скрипта (но никак её вообще не использовать, просто loadlib) - после остановки крашится. Попробую VCL, спасибо.</p>]]></description>
			<author><![CDATA[null@example.com (jestpounder)]]></author>
			<pubDate>Wed, 26 Jun 2013 11:49:14 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=360#p360</guid>
		</item>
		<item>
			<title><![CDATA[Re: Визуальный интерфейс IUP LUA в QUIK]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=359#p359</link>
			<description><![CDATA[<p>Надо смотреть конкретный код, который вы используете.<br />Вообще лично у меня руки так и не дошли толком подключить правильно визуализацию из этой библиоеки, я [url=https://quik2dde.ru/viewtopic.php?id=26]использую VCLua[/url]&nbsp; (только дочитайте какие файлы взять и как подключать/использовать)</p>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Tue, 25 Jun 2013 16:19:24 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=359#p359</guid>
		</item>
		<item>
			<title><![CDATA[Re: Визуальный интерфейс IUP LUA в QUIK]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=358#p358</link>
			<description><![CDATA[<p>Добрый день!<br />Почему-то при использовании данной библиотеки после остановки скрипта падает квик. До этого все нормально работает.<br />Система: win7 x64, использую iup3.7 32-битную</p>]]></description>
			<author><![CDATA[null@example.com (jestpounder)]]></author>
			<pubDate>Tue, 25 Jun 2013 09:37:01 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=358#p358</guid>
		</item>
		<item>
			<title><![CDATA[Re: Визуальный интерфейс IUP LUA в QUIK]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=56#p56</link>
			<description><![CDATA[<p><span style="color: #DDDDDD">&lt; reserved &gt;</span></p>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Sat, 12 Jan 2013 14:01:37 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=56#p56</guid>
		</item>
		<item>
			<title><![CDATA[Re: Визуальный интерфейс IUP LUA в QUIK]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=55#p55</link>
			<description><![CDATA[<p><span style="color: #DDDDDD">&lt; reserved &gt;</span></p>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Sat, 12 Jan 2013 14:01:32 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=55#p55</guid>
		</item>
		<item>
			<title><![CDATA[Re: Визуальный интерфейс IUP LUA в QUIK]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=54#p54</link>
			<description><![CDATA[<p><span style="color: #DDDDDD">&lt; reserved &gt;</span></p>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Sat, 12 Jan 2013 14:01:28 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=54#p54</guid>
		</item>
		<item>
			<title><![CDATA[Re: Визуальный интерфейс IUP LUA в QUIK]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=53#p53</link>
			<description><![CDATA[<p><span style="color: #DDDDDD">&lt; reserved &gt;</span></p>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Sat, 12 Jan 2013 14:01:23 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=53#p53</guid>
		</item>
		<item>
			<title><![CDATA[Re: Визуальный интерфейс IUP LUA в QUIK]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=52#p52</link>
			<description><![CDATA[<p>Но на этом ведь мысль не заканчивается!<br />Сама библиотека мне понравилась, в ней, кстати, есть графики, непременно посмотрите поставляемые примеры.</p><p>Так что в следующих выпусках я непременно расскажу как переделать эту библиотеку на удобное и корректное использование в рамках QUIK.<br />Сейчас библиотека iup полностью заточена на то, чтобы работать только самостоятельно, в частности - самостоятельно процессить цикл обработки сообщений. Но это нам не нужно, т.к. это уже производится в терминале QUIK. Значит надо оставить в ней лишь то, что связано с созданием/отображением диалоговых окон, а все прочее - удалить и/или отключить.</p><p>Идея такая: оставить в ней только то, что связано непосредственно с созданием окон, обработкой событий от элементов управления. Все остальное - отключить полностью. Тогда она станет более чем пригодна для работы в рамках QUIK и создания произвольного пользовательского интерфейса, управляемого из LUA скриптов!<br />Пока работы не закончил, есть еще шероховатости, но разве счастье, уверен, поджидает Следите за новыми выпусками передачи &quot;Qчумелые ручки&quot;!</p><p>(тему пока закрою, т.к. предполагаю выкладывать в ней еще материалы; есть вопросы - просто создайте для них новую тему, не стесняйтесь)</p>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Wed, 09 Jan 2013 20:26:23 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=52#p52</guid>
		</item>
		<item>
			<title><![CDATA[Визуальный интерфейс IUP LUA в QUIK]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=51#p51</link>
			<description><![CDATA[<p>Здесь рассмотрю подключение и использование еще одной библиоеки визуального интерфейса для LUA - это библиотека <strong>iup</strong> и &quot;прослойка&quot; к ней <strong>iupLUA</strong>.</p><p>Вначале установим библиотеку, чтобы ей можно было пользоваться.<br />Для этого идем сюда [url]http://sourceforge.net/projects/iup/files/3.7/Tools%20Executables/[/url] и качаем файл <strong>iup-3.7_Win32_bin.zip</strong>.</p><p>Кроме этого есть смысл зайти вот сюда [url]http://sourceforge.net/projects/iup/files/3.7/Docs%20and%20Sources/[/url] и скачать документацию в удобном для вас формате (т.е. файлы, содержащие в названии &quot;<strong>Docs</strong>&quot;).</p><h5>Установка</h5><p>Распаковываем архив <strong>iup-3.7_Win32_bin.zip</strong>.<br />Переходим в папку, куда распакован архив, там заходим в <strong>Lua5.1</strong> и копируем в папку с установленным терминалом QUIK три файла:<br /></p><ul><li><p>iup.dll</p></li><li><p>iuplua51.dll</p></li><li><p>lua5.1.dll</p></li></ul><p>Последний файл колпировать только в том случае если вы его еще не устанавливали с другой библиотекой.</p><p>Возможно, если у вас не установлен соотв. run-time, еще необходимо будет скопировать из папки <strong>Lua5.1 \ Microsoft.VC80.CRT</strong> все три файла с расширением <strong>dll</strong> тоже с папку в QUIK, но это можно сделать позже, только если возникнет необходимость.</p><h5>Простой скрипт с использованием iupLUA</h5><p>Создадим в текстовом редакторе новый файл, назовем его, например, <strong>iup-test-1.lua</strong>. Вначале подключим библиотеку <strong>iupLUA</strong>. Сделать это можно двумя способами:</p><div class="codebox"><pre><code>package.cpath = package.cpath .. &quot;;&quot; .. getWorkingFolder() .. &quot;\\?51.dll&quot;
require( &quot;iuplua&quot; )</code></pre></div><p>либо так:</p><div class="codebox"><pre><code>assert(package.loadlib(getWorkingFolder() .. &quot;\\iuplua51.dll&quot;, &quot;luaopen_iuplua&quot;))()</code></pre></div><p>После чего добавим простой текст создания диалогового окна:</p><div class="codebox"><pre><code>dlg = iup.dialog
{
  iup.vbox
  {
    iup.label {title=&quot;Test iupLUA in QUIK&quot;},
    iup.button{title=&quot;Button Very Long Text&quot;},
    iup.button{title=&quot;short&quot;, expand=&quot;HORIZONTAL&quot;},
    iup.button{title=&quot;Mid Button&quot;, expand=&quot;HORIZONTAL&quot;}
  }
  ;title=&quot;IupDialog&quot;, font=&quot;Helvetica, Bold 14&quot;
}
dlg:show()

iup.MainLoop()</code></pre></div><p>Очень радует то, что [url=https://quik2dde.ru/viewtopic.php?id=20]в отличии от <strong>wxLUA</strong>[/url] при повторном вызове скрипта, использующего рассматриваемую библиотеку <strong>iupLUA</strong>, не возникает каких-либо проблем. Значит уже имеет смысл смотреть/разбираться дальше.</p><p>Впрочем, как обычно не все так радужно. При использовании приведенного выше скрипта принципиальные проблемы остаются теми же, что и с другими подобными фреймворками: при запуске скрипт полностью останавливается в <strong>iup.MainLoop()</strong> и дальше не идет, пока не будет закрыто диалоговое окно. Ну так вот оно сделано, и в общем-то понятно почему. Разумеется, это нарушает нормальную работу терминала QUIK, не отображает статус запущенности скрипта - ну и т.д. Наверняка можно наткнуться на разные проблемы и в работе самого торгового терминала (как там с горячими клавишами при запущенном скрипте? удается ли запустить еще скрипты?).</p><p>Чтобы избавиться от указанных проблем с остановкой скрипта в методе <strong>iup.MainLoop()</strong>, можно весь этот текст перенести в <strong>main()</strong>, тогда в общем-то видимые проблемы исчезнут полностью вообще все, но лишь до тех пор, пока мы не начнем как-то изменять содержимое элементов интерфейса из обработчиков событий. А проблемы, разумеется, сразу возникнут, т.к. <strong>main()</strong> выполняется в отдельном потоке; соответственно только кодом, вызываемым из <strong>main()</strong> можно модифицировать какие-либо элементы на созданных диалогах. Что, конечно, достаточно грустно, потому что хотелось бы отображать какие-то данные в процессе работы скрипта, иначе зачем нужны все эти диалоги и окошки.</p>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Wed, 09 Jan 2013 20:21:20 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=51#p51</guid>
		</item>
	</channel>
</rss>
