<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Авионика и Софт &mdash; Кодогенерация, Графические библиотеки, Внешний подыгрыш]]></title>
		<link>http://www.forum.aviosoft.ru/index.php</link>
		<atom:link href="http://www.forum.aviosoft.ru/extern.php?action=feed&amp;fid=11&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние темы раздела «Авионика и Софт».]]></description>
		<lastBuildDate>Wed, 06 Mar 2019 12:41:25 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Кодировка символов в версиях для ОС Windows и Linux]]></title>
			<link>http://www.forum.aviosoft.ru/viewtopic.php?id=216&amp;action=new</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (be10ved)]]></author>
			<pubDate>Wed, 06 Mar 2019 12:41:25 +0000</pubDate>
			<guid>http://www.forum.aviosoft.ru/viewtopic.php?id=216&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Текстуры и шрифты]]></title>
			<link>http://www.forum.aviosoft.ru/viewtopic.php?id=211&amp;action=new</link>
			<description><![CDATA[<p>Здравствуйте.</p><p>При кодогенерации текстуры хранятся вне кодовых файлов. Шрифты вообще предполагаются установленными в ОС.<br />Есть ли планы осуществлять упаковывание текстур и шрифтов внутрь кодовых файлов при их генерации?<br />Практика использования показывает удобство такого подхода в определенных случаях.</p>]]></description>
			<author><![CDATA[null@example.com (be10ved)]]></author>
			<pubDate>Fri, 23 Nov 2018 12:11:31 +0000</pubDate>
			<guid>http://www.forum.aviosoft.ru/viewtopic.php?id=211&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Элементы ООП]]></title>
			<link>http://www.forum.aviosoft.ru/viewtopic.php?id=111&amp;action=new</link>
			<description><![CDATA[<p>Добрый день, в процессе разработки индикационных кадров возникла необходимость в использовании элементов объектно-ориентированного программирования, таких как структура(struct) и класс(class). Когда данные элементы будут добавлены в программу?</p>]]></description>
			<author><![CDATA[null@example.com (natmsk86)]]></author>
			<pubDate>Mon, 16 Apr 2018 09:21:43 +0000</pubDate>
			<guid>http://www.forum.aviosoft.ru/viewtopic.php?id=111&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Векторное изображение]]></title>
			<link>http://www.forum.aviosoft.ru/viewtopic.php?id=81&amp;action=new</link>
			<description><![CDATA[<p>Добрый день. В процессе работы столкнулась со следующей проблемой. Линия толщиной 1 отображается растровой графикой, либо не отображается вообще(при кодогенерации и переносе в DevExpress). Возможно ли использование векторной графики в проекте?&nbsp; и как решить проблему отображения примитивов с толщиной линий 1?</p>]]></description>
			<author><![CDATA[null@example.com (natmsk86)]]></author>
			<pubDate>Mon, 18 Sep 2017 13:31:44 +0000</pubDate>
			<guid>http://www.forum.aviosoft.ru/viewtopic.php?id=81&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Неизвестный тип uint8]]></title>
			<link>http://www.forum.aviosoft.ru/viewtopic.php?id=76&amp;action=new</link>
			<description><![CDATA[<p>При генерации любого проекта (может быть любого проекта с текстурой), внутри файла GraphLibImpl.c определяется переменная типа uint8, который нигде не объявлен</p>]]></description>
			<author><![CDATA[null@example.com (gluhow)]]></author>
			<pubDate>Fri, 28 Jul 2017 08:46:48 +0000</pubDate>
			<guid>http://www.forum.aviosoft.ru/viewtopic.php?id=76&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Название файла не по-умолчанию приводит к ошибке]]></title>
			<link>http://www.forum.aviosoft.ru/viewtopic.php?id=75&amp;action=new</link>
			<description><![CDATA[<p>При генерации кода мы указали имя файла GraphLibImpl другим. Файлы (.c и .h) были созданы с нашим именем, но внутри файла .c была строка include &quot;GraphLibImpl.h&quot; что привело к ошибке компиляции</p>]]></description>
			<author><![CDATA[null@example.com (gluhow)]]></author>
			<pubDate>Fri, 28 Jul 2017 07:17:43 +0000</pubDate>
			<guid>http://www.forum.aviosoft.ru/viewtopic.php?id=75&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Подключение dll при кодогенерации]]></title>
			<link>http://www.forum.aviosoft.ru/viewtopic.php?id=73&amp;action=new</link>
			<description><![CDATA[<p>Здравствуйте, существует ли возможность подключить библиотеку dll в подыгрыше для кодогенерации?</p>]]></description>
			<author><![CDATA[null@example.com (natmsk86)]]></author>
			<pubDate>Wed, 12 Jul 2017 14:15:30 +0000</pubDate>
			<guid>http://www.forum.aviosoft.ru/viewtopic.php?id=73&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Проблема при кодогенерации]]></title>
			<link>http://www.forum.aviosoft.ru/viewtopic.php?id=50&amp;action=new</link>
			<description><![CDATA[<p>Здравствуйте, отправляю Вам тестовый проект в котором мы столкнулись со следующей проблемой:<br />Код генерится, но в файле Paint.c 60:392 вставляется вызов функции ExtendedToGMS1, вместо используемой нами ExtendedToGMS. Соответственно код из-за этого не компилируется. Что мы делаем не так?</p>]]></description>
			<author><![CDATA[null@example.com (gluhow)]]></author>
			<pubDate>Wed, 16 Nov 2016 07:55:01 +0000</pubDate>
			<guid>http://www.forum.aviosoft.ru/viewtopic.php?id=50&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Открытое API]]></title>
			<link>http://www.forum.aviosoft.ru/viewtopic.php?id=46&amp;action=new</link>
			<description><![CDATA[<p>Существует/планируется ли сделать открытое API для возможности написания своих проектов типа кодо/документогенерации?</p>]]></description>
			<author><![CDATA[null@example.com (gluhow)]]></author>
			<pubDate>Fri, 01 Jul 2016 05:04:48 +0000</pubDate>
			<guid>http://www.forum.aviosoft.ru/viewtopic.php?id=46&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Проблема при компилировании библиотеки под Linux]]></title>
			<link>http://www.forum.aviosoft.ru/viewtopic.php?id=45&amp;action=new</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (gluhow)]]></author>
			<pubDate>Thu, 30 Jun 2016 07:35:04 +0000</pubDate>
			<guid>http://www.forum.aviosoft.ru/viewtopic.php?id=45&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Одинаковые объекты на одной форме]]></title>
			<link>http://www.forum.aviosoft.ru/viewtopic.php?id=43&amp;action=new</link>
			<description><![CDATA[<p>При попытке установить на форму объект такой же как был установлен ранее, возникает ошибка при попытке его инициализации. Если не вызывать повторно инициализацию объекта, то ошибки не возникает, но приходится отслеживать какие объекты были установлены ранее, что очень неудобно учитывая что форм несколько и на каждой из них будет находится по множеству объектов.</p>]]></description>
			<author><![CDATA[null@example.com (gluhow)]]></author>
			<pubDate>Wed, 13 Apr 2016 10:26:31 +0000</pubDate>
			<guid>http://www.forum.aviosoft.ru/viewtopic.php?id=43&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Кодогенерация кнопок. Когда?]]></title>
			<link>http://www.forum.aviosoft.ru/viewtopic.php?id=42&amp;action=new</link>
			<description><![CDATA[<p>Здравствуйте, скоро ли планируется реализовать кодогенерацию событий (нажатий на кнопки и т.д)?</p>]]></description>
			<author><![CDATA[null@example.com (gluhow)]]></author>
			<pubDate>Tue, 12 Apr 2016 06:17:58 +0000</pubDate>
			<guid>http://www.forum.aviosoft.ru/viewtopic.php?id=42&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Информация о высоте и ширине рабочей области]]></title>
			<link>http://www.forum.aviosoft.ru/viewtopic.php?id=41&amp;action=new</link>
			<description><![CDATA[<p>Не смогли найти как программно извлечь информацию о высоте и ширине рабочей области.</p>]]></description>
			<author><![CDATA[null@example.com (gluhow)]]></author>
			<pubDate>Wed, 30 Mar 2016 08:35:57 +0000</pubDate>
			<guid>http://www.forum.aviosoft.ru/viewtopic.php?id=41&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Инициализация начальных значений массива]]></title>
			<link>http://www.forum.aviosoft.ru/viewtopic.php?id=37&amp;action=new</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (gluhow)]]></author>
			<pubDate>Mon, 29 Feb 2016 10:10:53 +0000</pubDate>
			<guid>http://www.forum.aviosoft.ru/viewtopic.php?id=37&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Информационный обмен при множестве объектов]]></title>
			<link>http://www.forum.aviosoft.ru/viewtopic.php?id=17&amp;action=new</link>
			<description><![CDATA[<p>Здравствуйте, специфика нашей работы заключается в том что на одну форму необходимо устанавливать несколько (бывет и несколько десятков) сгенерированных объектов. Объекты могут быть одинаковыми, но при этом, естественно, располагаются в разных местах формы и имеют разные значения внутренних переменных. В данный момент я храню для каждого объекта свою копию входной структуры InputVar и перед вызовом отрисовки копирую свою копию по адресу, выданному библиотекой. <br />1) Это не является оптимальным. Возможно ли сделать так чтобы при каждом вызове не приходилось копировать кусок памяти, а, например, просто менять указатель на него?<br />2) Непонятно что делать с выходными переменными. Как понять они относятся ли они к текущему объекту?</p>]]></description>
			<author><![CDATA[null@example.com (gluhow)]]></author>
			<pubDate>Tue, 06 Oct 2015 08:42:35 +0000</pubDate>
			<guid>http://www.forum.aviosoft.ru/viewtopic.php?id=17&amp;action=new</guid>
		</item>
	</channel>
</rss>
