<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Авионика и Софт &mdash; Кодогенерация, Графические библиотеки, Внешний подыгрыш]]></title>
	<link rel="self" href="http://www.forum.aviosoft.ru/extern.php?action=feed&amp;fid=11&amp;type=atom" />
	<updated>2019-03-06T12:41:25Z</updated>
	<generator>PunBB</generator>
	<id>http://www.forum.aviosoft.ru/index.php</id>
		<entry>
			<title type="html"><![CDATA[Кодировка символов в версиях для ОС Windows и Linux]]></title>
			<link rel="alternate" href="http://www.forum.aviosoft.ru/viewtopic.php?id=216&amp;action=new" />
			<summary type="html"><![CDATA[<p>Здравствуйте.<br />Заметил особенность в размерах символов между версиями для ОС Windows и Linux.<br />При кодогенерации использование типа wchar_t приводит к размеру 2 байта в Windows. С другой стороны, ОС Linux считает размер wchar_t как 4 байта.</p><p>Это приводит к проблеме, если создается платформонезависимое решение, которое должно общаться с сгенерированными графическими объектами.</p><p>Пробовал решить проблему с помощью изменения заголовка GraphLib.h. А именно изменением строк:<br /></p><div class="codebox"><pre><code>#include &lt;wchar.h&gt;
typedef wchar_t char_un;   /* для Unicode строк */</code></pre></div><p>=&gt;<br /></p><div class="codebox"><pre><code>#include &lt;uchar.h&gt;
typedef char16_t char_un;   /* для Unicode строк. Измененный тип wchar_t на char16_t */</code></pre></div><p>или<br /></p><div class="codebox"><pre><code>typedef unsigned short int char_un;   /* для Unicode строк. Измененный тип wchar_t на unsigned int */</code></pre></div><p>При замене префикса с &quot;L&quot; на &quot;u&quot; по-началу все отображалось хорошо. Но потом возникла новая проблема. В одном из проектов у графического объекта используется функция форматирования текста:<br /></p><div class="codebox"><pre><code>format(&quot;%02d:%02d:%02d&quot;, 1, 12, 3)</code></pre></div><p>При кодогенерации это приводит к вызову C-функции vswprintf, которая подразумевает использование только типа wchar_t:<br /></p><div class="codebox"><pre><code>int vswprintf (wchar_t * ws, size_t len, const wchar_t * format, va_list arg );</code></pre></div><p>Графический симптом проблемы выглядит как отображение строки %02d:%02d:%02d на экране.</p><p>Подскажите, пожалуйста, как можно сделать размер входной структуры одинаковым в обоих ОС и что бы при этом на экране корректно отображался форматированный текст?</p><p>Заранее спасибо за ответ.</p>]]></summary>
			<author>
				<name><![CDATA[be10ved]]></name>
				<uri>http://www.forum.aviosoft.ru/profile.php?id=49</uri>
			</author>
			<updated>2019-03-06T12:41:25Z</updated>
			<id>http://www.forum.aviosoft.ru/viewtopic.php?id=216&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Текстуры и шрифты]]></title>
			<link rel="alternate" href="http://www.forum.aviosoft.ru/viewtopic.php?id=211&amp;action=new" />
			<summary type="html"><![CDATA[<p>Здравствуйте.</p><p>При кодогенерации текстуры хранятся вне кодовых файлов. Шрифты вообще предполагаются установленными в ОС.<br />Есть ли планы осуществлять упаковывание текстур и шрифтов внутрь кодовых файлов при их генерации?<br />Практика использования показывает удобство такого подхода в определенных случаях.</p>]]></summary>
			<author>
				<name><![CDATA[be10ved]]></name>
				<uri>http://www.forum.aviosoft.ru/profile.php?id=49</uri>
			</author>
			<updated>2018-11-23T12:11:31Z</updated>
			<id>http://www.forum.aviosoft.ru/viewtopic.php?id=211&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Элементы ООП]]></title>
			<link rel="alternate" href="http://www.forum.aviosoft.ru/viewtopic.php?id=111&amp;action=new" />
			<summary type="html"><![CDATA[<p>Добрый день, в процессе разработки индикационных кадров возникла необходимость в использовании элементов объектно-ориентированного программирования, таких как структура(struct) и класс(class). Когда данные элементы будут добавлены в программу?</p>]]></summary>
			<author>
				<name><![CDATA[natmsk86]]></name>
				<uri>http://www.forum.aviosoft.ru/profile.php?id=59</uri>
			</author>
			<updated>2018-04-16T09:21:43Z</updated>
			<id>http://www.forum.aviosoft.ru/viewtopic.php?id=111&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Векторное изображение]]></title>
			<link rel="alternate" href="http://www.forum.aviosoft.ru/viewtopic.php?id=81&amp;action=new" />
			<summary type="html"><![CDATA[<p>Добрый день. В процессе работы столкнулась со следующей проблемой. Линия толщиной 1 отображается растровой графикой, либо не отображается вообще(при кодогенерации и переносе в DevExpress). Возможно ли использование векторной графики в проекте?&nbsp; и как решить проблему отображения примитивов с толщиной линий 1?</p>]]></summary>
			<author>
				<name><![CDATA[natmsk86]]></name>
				<uri>http://www.forum.aviosoft.ru/profile.php?id=59</uri>
			</author>
			<updated>2017-09-18T13:31:44Z</updated>
			<id>http://www.forum.aviosoft.ru/viewtopic.php?id=81&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Неизвестный тип uint8]]></title>
			<link rel="alternate" href="http://www.forum.aviosoft.ru/viewtopic.php?id=76&amp;action=new" />
			<summary type="html"><![CDATA[<p>При генерации любого проекта (может быть любого проекта с текстурой), внутри файла GraphLibImpl.c определяется переменная типа uint8, который нигде не объявлен</p>]]></summary>
			<author>
				<name><![CDATA[gluhow]]></name>
				<uri>http://www.forum.aviosoft.ru/profile.php?id=45</uri>
			</author>
			<updated>2017-07-28T08:46:48Z</updated>
			<id>http://www.forum.aviosoft.ru/viewtopic.php?id=76&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Название файла не по-умолчанию приводит к ошибке]]></title>
			<link rel="alternate" href="http://www.forum.aviosoft.ru/viewtopic.php?id=75&amp;action=new" />
			<summary type="html"><![CDATA[<p>При генерации кода мы указали имя файла GraphLibImpl другим. Файлы (.c и .h) были созданы с нашим именем, но внутри файла .c была строка include &quot;GraphLibImpl.h&quot; что привело к ошибке компиляции</p>]]></summary>
			<author>
				<name><![CDATA[gluhow]]></name>
				<uri>http://www.forum.aviosoft.ru/profile.php?id=45</uri>
			</author>
			<updated>2017-07-28T07:17:43Z</updated>
			<id>http://www.forum.aviosoft.ru/viewtopic.php?id=75&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Подключение dll при кодогенерации]]></title>
			<link rel="alternate" href="http://www.forum.aviosoft.ru/viewtopic.php?id=73&amp;action=new" />
			<summary type="html"><![CDATA[<p>Здравствуйте, существует ли возможность подключить библиотеку dll в подыгрыше для кодогенерации?</p>]]></summary>
			<author>
				<name><![CDATA[natmsk86]]></name>
				<uri>http://www.forum.aviosoft.ru/profile.php?id=59</uri>
			</author>
			<updated>2017-07-12T14:15:30Z</updated>
			<id>http://www.forum.aviosoft.ru/viewtopic.php?id=73&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Проблема при кодогенерации]]></title>
			<link rel="alternate" href="http://www.forum.aviosoft.ru/viewtopic.php?id=50&amp;action=new" />
			<summary type="html"><![CDATA[<p>Здравствуйте, отправляю Вам тестовый проект в котором мы столкнулись со следующей проблемой:<br />Код генерится, но в файле Paint.c 60:392 вставляется вызов функции ExtendedToGMS1, вместо используемой нами ExtendedToGMS. Соответственно код из-за этого не компилируется. Что мы делаем не так?</p>]]></summary>
			<author>
				<name><![CDATA[gluhow]]></name>
				<uri>http://www.forum.aviosoft.ru/profile.php?id=45</uri>
			</author>
			<updated>2016-11-16T07:55:01Z</updated>
			<id>http://www.forum.aviosoft.ru/viewtopic.php?id=50&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Открытое API]]></title>
			<link rel="alternate" href="http://www.forum.aviosoft.ru/viewtopic.php?id=46&amp;action=new" />
			<summary type="html"><![CDATA[<p>Существует/планируется ли сделать открытое API для возможности написания своих проектов типа кодо/документогенерации?</p>]]></summary>
			<author>
				<name><![CDATA[gluhow]]></name>
				<uri>http://www.forum.aviosoft.ru/profile.php?id=45</uri>
			</author>
			<updated>2016-07-01T05:04:48Z</updated>
			<id>http://www.forum.aviosoft.ru/viewtopic.php?id=46&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Проблема при компилировании библиотеки под Linux]]></title>
			<link rel="alternate" href="http://www.forum.aviosoft.ru/viewtopic.php?id=45&amp;action=new" />
			<summary type="html"><![CDATA[<p>Сейчас хотел упростить компилирование библиотек .so приборов. По идее мы должны указать нашей программе папку с исходными кодами, а она дальше сама их компилирует и сразу отображает, поэтому и пробую минимизировать количество операций. В итоге вылезла странная вещь:<br />В файле GraphLibOGL.h описания функций<br /></p><div class="codebox"><pre><code>int/*bool*/  BGLCreateFont(char const *facename, int32 size, int/*bool*/ bold, int/*bool*/ italic, struct BGLFont *fnt/*out*/)
float32 BGLCalcTextLengthW(int32 font, char_un const *text, int/*bool*/ smooth)   /* определение длины текстовой строки в пикселях для unicode */
struct BGLChar const *BGLGetChar(int32 font, char_un ch, int/*bool*/ smooth)</code></pre></div><p>не соответствуют функциям из файла font_api.cpp<br /></p><div class="codebox"><pre><code>long/*bool*/ BGLCreateFont(char const *facename, long size, long/*bool*/ bold, long/*bool*/ italic, struct BGLFont *fnt/*out*/)
float BGLCalcTextLengthW(long font, char_un const *text, long/*bool*/ smooth)        /* определение длины текстовой строки в пикселях */
struct BGLChar const *BGLGetChar(long font, char_un ch, long/*bool*/ smooth)</code></pre></div><p>После исправления описаний на одинаковые, всё компилируется нормально, но шрифт отображается с искажениями. См. приложение. Причину которых я пока так и не понял.&nbsp; <br />Специально ли сделано несоответствие описаний? В какую сторону копать со шрифтом?</p>]]></summary>
			<author>
				<name><![CDATA[gluhow]]></name>
				<uri>http://www.forum.aviosoft.ru/profile.php?id=45</uri>
			</author>
			<updated>2016-06-30T07:35:04Z</updated>
			<id>http://www.forum.aviosoft.ru/viewtopic.php?id=45&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Одинаковые объекты на одной форме]]></title>
			<link rel="alternate" href="http://www.forum.aviosoft.ru/viewtopic.php?id=43&amp;action=new" />
			<summary type="html"><![CDATA[<p>При попытке установить на форму объект такой же как был установлен ранее, возникает ошибка при попытке его инициализации. Если не вызывать повторно инициализацию объекта, то ошибки не возникает, но приходится отслеживать какие объекты были установлены ранее, что очень неудобно учитывая что форм несколько и на каждой из них будет находится по множеству объектов.</p>]]></summary>
			<author>
				<name><![CDATA[gluhow]]></name>
				<uri>http://www.forum.aviosoft.ru/profile.php?id=45</uri>
			</author>
			<updated>2016-04-13T10:26:31Z</updated>
			<id>http://www.forum.aviosoft.ru/viewtopic.php?id=43&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Кодогенерация кнопок. Когда?]]></title>
			<link rel="alternate" href="http://www.forum.aviosoft.ru/viewtopic.php?id=42&amp;action=new" />
			<summary type="html"><![CDATA[<p>Здравствуйте, скоро ли планируется реализовать кодогенерацию событий (нажатий на кнопки и т.д)?</p>]]></summary>
			<author>
				<name><![CDATA[gluhow]]></name>
				<uri>http://www.forum.aviosoft.ru/profile.php?id=45</uri>
			</author>
			<updated>2016-04-12T06:17:58Z</updated>
			<id>http://www.forum.aviosoft.ru/viewtopic.php?id=42&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Информация о высоте и ширине рабочей области]]></title>
			<link rel="alternate" href="http://www.forum.aviosoft.ru/viewtopic.php?id=41&amp;action=new" />
			<summary type="html"><![CDATA[<p>Не смогли найти как программно извлечь информацию о высоте и ширине рабочей области.</p>]]></summary>
			<author>
				<name><![CDATA[gluhow]]></name>
				<uri>http://www.forum.aviosoft.ru/profile.php?id=45</uri>
			</author>
			<updated>2016-03-30T08:35:57Z</updated>
			<id>http://www.forum.aviosoft.ru/viewtopic.php?id=41&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Инициализация начальных значений массива]]></title>
			<link rel="alternate" href="http://www.forum.aviosoft.ru/viewtopic.php?id=37&amp;action=new" />
			<summary type="html"><![CDATA[<p>При создания массива и задания ему входных значений при&nbsp; кодогенерации записывается во все элементы массива только первое значение.<br />Создание массива переменных см. приложение<br />При этом сгенерировался файл Imitation.c<br /></p><div class="codebox"><pre><code>/*===========================================================================
| Создано:  Модуль кодогенерации CGFormatPro (версия 2.0, сборка 344)
| Имя проекта:  menu_mfci_10
| Имя задачи:  Задача
| Путь к файлу проекта:  U:\menu_mfci_10.fpproj
| Время и дата:  12:57:43  29 февраля 2016 г.
=============================================================================
 Запись во входные переменные значений подыгрыша.
===========================================================================*/


#include &quot;Imitation.h&quot;


void OnImitation(void)
{
   int i;

/***** Переменные ветви задачи *****/

   /* Имя: Int1 */
   for(i=0; i&lt;8; ++i)
      g_iInt1[i] = 4;

}</code></pre></div><p>Это Ваша ошибка или мы что-то не так делаем?</p>]]></summary>
			<author>
				<name><![CDATA[gluhow]]></name>
				<uri>http://www.forum.aviosoft.ru/profile.php?id=45</uri>
			</author>
			<updated>2016-02-29T10:10:53Z</updated>
			<id>http://www.forum.aviosoft.ru/viewtopic.php?id=37&amp;action=new</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Информационный обмен при множестве объектов]]></title>
			<link rel="alternate" href="http://www.forum.aviosoft.ru/viewtopic.php?id=17&amp;action=new" />
			<summary type="html"><![CDATA[<p>Здравствуйте, специфика нашей работы заключается в том что на одну форму необходимо устанавливать несколько (бывет и несколько десятков) сгенерированных объектов. Объекты могут быть одинаковыми, но при этом, естественно, располагаются в разных местах формы и имеют разные значения внутренних переменных. В данный момент я храню для каждого объекта свою копию входной структуры InputVar и перед вызовом отрисовки копирую свою копию по адресу, выданному библиотекой. <br />1) Это не является оптимальным. Возможно ли сделать так чтобы при каждом вызове не приходилось копировать кусок памяти, а, например, просто менять указатель на него?<br />2) Непонятно что делать с выходными переменными. Как понять они относятся ли они к текущему объекту?</p>]]></summary>
			<author>
				<name><![CDATA[gluhow]]></name>
				<uri>http://www.forum.aviosoft.ru/profile.php?id=45</uri>
			</author>
			<updated>2015-10-06T08:42:35Z</updated>
			<id>http://www.forum.aviosoft.ru/viewtopic.php?id=17&amp;action=new</id>
		</entry>
</feed>
