Просмотр сообщений
Страниц: [1] 2 3 ... 32
1  Общее / Ошибки в QNX 6 / Re: Нужна помощь. Ошибка QNX Momentix при компиляции : Мая 23, 2018, 03:56:28 pm
Так #pragma once не избавит от включения #include друг-друга в классах.  Roll Eyes
И на здоровье. Бесконечной петли не будет.
2  Общее / Ошибки в QNX 6 / Re: Нужна помощь. Ошибка QNX Momentix при компиляции : Мая 23, 2018, 09:52:26 am
Ну и ещё интересный вопрос - у меня оператор сделан friend. Хотелось бы, чтобы он был friend одновременно ещё и для другого шаблонного класса CVector (без этого приходится писать cVector_Left.GetElement(y), вместо прямого обращения к данным). Проблема в том, что CVector про CMatrix ничего не знает. А вот CMatrix про CVector знает. Я не могу подключить один в другой через include и в CVector прописать friend и такой же оператор - получится кольцо.
А #pragma once не может спасти гиганта мысли?
3  Разработка / Разработка графических приложений / Re: Изменение Pt_ARG_WINDOW_STATE в коде приложения : Февраля 10, 2018, 10:45:27 pm
RTFM, однако.

When setting a flag, the third argument to PtSetArg() is a bit field specifying the value of the bits to be set. The fourth argument is a bit mask indicating which elements of the bit field should be used.
4  Установка и настройка / Установка и настройка / Re: QNX и GPT : Августа 05, 2017, 07:51:21 pm
Хорошая мысль. Послал вопрос и туда.
5  Установка и настройка / Установка и настройка / QNX и GPT : Августа 04, 2017, 09:38:55 am
Есть ли способ заставить qnx 6.5 (платформа x86) работать с жестким диском в формате GPT?
6  Разработка / Программирование под QNX / Re: Обработка события Ph_EV_KEY в AppBuilder : Июля 26, 2017, 03:58:37 pm
Функция вызывается при нажатии и при отпускании клавиши. Нужно проверять соответствующие флаги. Странно, что проблема возникла при портировании из qnx4 - там дело обстоит точно так же.
7  Разработка / Программирование под QNX 4.x / Re: очистка текста в PtMultiText : Мая 18, 2017, 09:33:22 pm
Ну это ж надо вставлять явное приведение. Так вредить неинтересно - возни больно много.
8  Разработка / Программирование под QNX 4.x / Re: очистка текста в PtMultiText : Мая 18, 2017, 08:25:50 pm
Если поменять массивы на динамические, компилятор как раз наверняка возмутится.
9  Разработка / Программирование под QNX 4.x / Re: очистка текста в PtMultiText : Мая 18, 2017, 08:04:18 pm
В случае malloc есть явный объект - указатель. Со всеми вытекающими.
Если вы напишете
Код:
char *buffer = malloc (16);
то buffer никак не будет равно &buffer.
А в случае
Код:
char buffer[16];
такое равенство будет. Но не будет объекта типа "указатель".
По крайней мере, компилятор Watcom в QNX 4.25 спокойно кушает оператор
Код:
if (buffer == &buffer) ...
Он выдает только туманное предупреждение "&array may not produce intended result", но результат сравнения при этом true.
Интересно проверить, что будет при арифметических операциях с этим указателем. Но в данной теме это значения не имеет - использование &buffer2 вместо buffer2 в обращении к функции ошибкой никоим образом не является.
10  Разработка / Программирование под QNX 4.x / Re: очистка текста в PtMultiText : Мая 18, 2017, 07:39:58 pm
1. В Си нет new.
2. Имя массива есть ссылка на первый элемент, но не объект типа "указатель". Такой объект в данном случае не создается.
11  Разработка / Программирование под QNX 4.x / Re: очистка текста в PtMultiText : Мая 18, 2017, 07:14:56 pm
Причин вы можете не видеть, но в C (не C++) это действительно так.
12  Разработка / Программирование под QNX 4.x / Re: очистка текста в PtMultiText : Мая 18, 2017, 06:03:09 pm
Попробуйте поиграть с ресурсом Pt_ARG_TEXT_STRING. С его помощью можно и очистить виджет (через PtSetResources), и получить указатель на текст (через PtGetResources). Не знаю, правда, что выдаст PtGetResources в случае наличия нескольких сегментов текста с разным форматированием, но, скорее всего, это предусмотрено. В общем, надо пробовать.
Что касается длины текста, то она складывается из длины всех сегментов, которые вы туда пишете, и больше ни из чего (если, конечно, у вас не предусмотрено редактирование текста пользователем). Следует только различать длину текста в байтах и в символах - в кодировке UTF это не одно и то же.
13  Разработка / Программирование под QNX 4.x / Re: очистка текста в PtMultiText : Мая 18, 2017, 08:18:02 am
А кто такой у вас "buffer2" ? Если это имя массива, то выражение "memset( &buffer2,0,sizeof(buffer2));" пытается обнулить указатель на массив. Иногда такое тоже нужно, но тут вы, скорее всего, имели в виду совсем другое ;-) .

Это неверно - в C buffer2 и &buffer2 в данном случае абсолютно эквивалентны.

Код:
Код:
memset(&buffer2,0,sizeof(buffer2));
PtTextModifyText(MTex1,0,sizeof(buffer2),-1,buffer2,sizeof(buffer2)); // очистка виджета

А каков размер массива buffer2? В вашем варианте он должен быть заведомо больше длины очищаемого текста.
Но вообще-то массив buffer2 здесь вовсе не обязателен. Достаточно задать третий параметр PtTextModifyText() заведомо бОльшим, чем длина текста, а последние два параметра - NULL, 0.
14  Установка и настройка / Установка и настройка / Re: установка QNX : Мая 02, 2017, 06:12:11 pm
Мне кажется, что вы немного не о том. Под нативными средствами разработки имеется в виду именно инструментальная машина под qnx. Если вы хотите иметь инструментальные средства на целевой машине, естественно, они сами там не появятся - их надо туда установить.
15  Установка и настройка / Установка и настройка / Re: установка QNX : Мая 02, 2017, 04:02:23 pm
Просто положить на target компилятор и прочее из комплекта, установленного в другю ось я не могу.
Просто положить - конечно, не можете. Но речь-то шла не об этом, а об отсутствии нативных средств вообще.
И конечно, брать эти нативные средства надо с установочного диска - откуда же еще?
Страниц: [1] 2 3 ... 32