<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[QUIK -> DDE &mdash; Визуальный интерфейс IUP LUA в QUIK]]></title>
	<link rel="self" href="https://quik2dde.ru/extern.php?action=feed&amp;tid=25&amp;type=atom" />
	<updated>2014-06-20T09:04:52Z</updated>
	<generator>PunBB</generator>
	<id>https://quik2dde.ru/viewtopic.php?id=25</id>
		<entry>
			<title type="html"><![CDATA[Re: Визуальный интерфейс IUP LUA в QUIK]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=583#p583" />
			<content type="html"><![CDATA[<p>Подскажите можно ли строить на библиотеке&nbsp; iupLUA динамические графики? Нужно сделать график который меняется на месте, т.е. нет по оси X шкалы времени. Скачал с официального сайта iup примеры этой библиотеки, но не одного примера с динамическим изменением графика не нашел. Не совсем понимаю механизм обновления графика.<br /> Может данный функционал позволяет делать сам qlua через индикаторы?&nbsp; Или может с помощью другой библиотеки можно это сделать, или проще использовать другой язык создав dll и подключив к qlua?</p>]]></content>
			<author>
				<name><![CDATA[axel]]></name>
				<uri>https://quik2dde.ru/profile.php?id=187</uri>
			</author>
			<updated>2014-06-20T09:04:52Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=583#p583</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Визуальный интерфейс IUP LUA в QUIK]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=360#p360" />
			<content type="html"><![CDATA[<p>Да на самом деле не в скрипте даже дело. Достаточно просто подключить библиотеку из скрипта (но никак её вообще не использовать, просто loadlib) - после остановки крашится. Попробую VCL, спасибо.</p>]]></content>
			<author>
				<name><![CDATA[jestpounder]]></name>
				<uri>https://quik2dde.ru/profile.php?id=139</uri>
			</author>
			<updated>2013-06-26T11:49:14Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=360#p360</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Визуальный интерфейс IUP LUA в QUIK]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=359#p359" />
			<content type="html"><![CDATA[<p>Надо смотреть конкретный код, который вы используете.<br />Вообще лично у меня руки так и не дошли толком подключить правильно визуализацию из этой библиоеки, я [url=https://quik2dde.ru/viewtopic.php?id=26]использую VCLua[/url]&nbsp; (только дочитайте какие файлы взять и как подключать/использовать)</p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://quik2dde.ru/profile.php?id=2</uri>
			</author>
			<updated>2013-06-25T16:19:24Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=359#p359</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Визуальный интерфейс IUP LUA в QUIK]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=358#p358" />
			<content type="html"><![CDATA[<p>Добрый день!<br />Почему-то при использовании данной библиотеки после остановки скрипта падает квик. До этого все нормально работает.<br />Система: win7 x64, использую iup3.7 32-битную</p>]]></content>
			<author>
				<name><![CDATA[jestpounder]]></name>
				<uri>https://quik2dde.ru/profile.php?id=139</uri>
			</author>
			<updated>2013-06-25T09:37:01Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=358#p358</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Визуальный интерфейс IUP LUA в QUIK]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=56#p56" />
			<content type="html"><![CDATA[<p><span style="color: #DDDDDD">&lt; reserved &gt;</span></p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://quik2dde.ru/profile.php?id=2</uri>
			</author>
			<updated>2013-01-12T14:01:37Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=56#p56</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Визуальный интерфейс IUP LUA в QUIK]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=55#p55" />
			<content type="html"><![CDATA[<p><span style="color: #DDDDDD">&lt; reserved &gt;</span></p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://quik2dde.ru/profile.php?id=2</uri>
			</author>
			<updated>2013-01-12T14:01:32Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=55#p55</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Визуальный интерфейс IUP LUA в QUIK]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=54#p54" />
			<content type="html"><![CDATA[<p><span style="color: #DDDDDD">&lt; reserved &gt;</span></p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://quik2dde.ru/profile.php?id=2</uri>
			</author>
			<updated>2013-01-12T14:01:28Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=54#p54</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Визуальный интерфейс IUP LUA в QUIK]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=53#p53" />
			<content type="html"><![CDATA[<p><span style="color: #DDDDDD">&lt; reserved &gt;</span></p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://quik2dde.ru/profile.php?id=2</uri>
			</author>
			<updated>2013-01-12T14:01:23Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=53#p53</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Визуальный интерфейс IUP LUA в QUIK]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=52#p52" />
			<content type="html"><![CDATA[<p>Но на этом ведь мысль не заканчивается!<br />Сама библиотека мне понравилась, в ней, кстати, есть графики, непременно посмотрите поставляемые примеры.</p><p>Так что в следующих выпусках я непременно расскажу как переделать эту библиотеку на удобное и корректное использование в рамках QUIK.<br />Сейчас библиотека iup полностью заточена на то, чтобы работать только самостоятельно, в частности - самостоятельно процессить цикл обработки сообщений. Но это нам не нужно, т.к. это уже производится в терминале QUIK. Значит надо оставить в ней лишь то, что связано с созданием/отображением диалоговых окон, а все прочее - удалить и/или отключить.</p><p>Идея такая: оставить в ней только то, что связано непосредственно с созданием окон, обработкой событий от элементов управления. Все остальное - отключить полностью. Тогда она станет более чем пригодна для работы в рамках QUIK и создания произвольного пользовательского интерфейса, управляемого из LUA скриптов!<br />Пока работы не закончил, есть еще шероховатости, но разве счастье, уверен, поджидает Следите за новыми выпусками передачи &quot;Qчумелые ручки&quot;!</p><p>(тему пока закрою, т.к. предполагаю выкладывать в ней еще материалы; есть вопросы - просто создайте для них новую тему, не стесняйтесь)</p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://quik2dde.ru/profile.php?id=2</uri>
			</author>
			<updated>2013-01-09T20:26:23Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=52#p52</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Визуальный интерфейс IUP LUA в QUIK]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=51#p51" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://quik2dde.ru/profile.php?id=2</uri>
			</author>
			<updated>2013-01-09T20:21:20Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=51#p51</id>
		</entry>
</feed>
