Страниц: [1]
  Печать  
Автор Тема: Скелет программы в PhAb.  (Прочитано 5150 раз)
qnx_user
Full Member
***
Offline Offline

Сообщений: 124


Просмотр профиля
« : Апреля 02, 2013, 08:49:24 pm »

Знакомлюсь с Photon Application Builder. Установил QNX® Software Development Platform 6.5.0 Service Pack 1 -- Windows Hosts. Создал Photon Appbuilder Project, сгенерировал код командой Generate UI из PhAb. Сразу что бросилось в глаза - это полученный скелет программы.
Пример:
Код:
int
main ( int argc, char *argv[] )

{

...

return 0;
}

Ужас, к такому даже привыкать не хочу. Попытался изменить шаблоны (\QNX650\host\win32\x86\usr\photon\appbuilder\codelib), c main все удачно:
Код:
int main ( int argc, char *argv[] )
{

...

return 0;
}

А вот с остальным происходит соледующее, возьму к примеру шаблон функции - stubfun.c. Изменил его следующим образом:
Код:
.Options

int .Function
{

/* eliminate 'unreferenced' warnings */
.Warnings

return( Pt_CONTINUE );
}
Получаю в сгенерированном коде:
Код:
int .Function
{

/* eliminate 'unreferenced' warnings */
widget = widget, apinfo = apinfo, cbinfo = cbinfo;

return( Pt_CONTINUE );
}
Т.е. .Function не заменяется именем функции.

Отсюда возник вопрос, возможно реализовать такой вариант шаблона? или обязательно переменная .Function должна начинаться с новой строки (к тому же еще и без пробелов) и других возможностей нет (кроме как каждый раз менять сгенерированный код вручную)?
И еще такой неприятный момент, почему при каждом выполнении Generate UI или Save весь код в программе затирается шаблонным, чтобы там написано не было. Это же не нормально?
Спасибо.
« Последнее редактирование: Апреля 02, 2013, 08:58:26 pm от qnx_user » Записан
AG
QOR.Moderator
*****
Offline Offline

Сообщений: 872



Просмотр профиля WWW
« Ответ #1 : Апреля 03, 2013, 11:11:33 am »

Ужас, к такому даже привыкать не хочу.

Может никого не стоит ни о чем спрашивать если вам самому лучше всех всё известно. Правильно ведь?

Это же не нормально?

Всё нормально. Вы же умеете работать в команде?
Записан

qnx_user
Full Member
***
Offline Offline

Сообщений: 124


Просмотр профиля
« Ответ #2 : Апреля 03, 2013, 01:49:07 pm »

Может никого не стоит ни о чем спрашивать если вам самому лучше всех всё известно. Правильно ведь?
Почему же? С чего Вы взяли что я лучше всех все знаю? Я где-то об этом упомянул? Мой вопрос был поставлен, помоему понятно и я бы не спрашивал если бы знал. Верно? Желание сделать разработку комфортной для себя это какой-то показатель? Есть стандарты кодирования, каждый вправе выбирать удобный для себя. Обьясните, может я чего не понимаю? Путаю?
Всё нормально.
Т.е. если сгенерировал код, внес в него изменения, потом добавил виджет, сгенерировал снова и он затер мне код, это нормально? (В той же Visual Studio, Windows Forms такого нет) Или я и тут чего-то не понимаю?
Вы же умеете работать в команде?
В команде я не работал, к сожалению.
« Последнее редактирование: Апреля 03, 2013, 02:15:17 pm от qnx_user » Записан
A_O
Full Member
***
Offline Offline

Сообщений: 212


Просмотр профиля
« Ответ #3 : Апреля 03, 2013, 07:28:40 pm »

Свой код в проект PhAB нужно добавлять в виде отдельных модулей - callback-функций и функций инициализации (setup). Эти модули вы в любой момент можете редактировать, и никто их не затрет.
Записан
qnx_user
Full Member
***
Offline Offline

Сообщений: 124


Просмотр профиля
« Ответ #4 : Апреля 03, 2013, 09:16:45 pm »

функций инициализации (setup).
Благодарю.
Записан
GrayCat
Full Member
***
Offline Offline

Сообщений: 128


Gray©at


Просмотр профиля
« Ответ #5 : Апреля 04, 2013, 11:16:37 am »

Вкратце: все файлы, начинающиеся на "ab*.*" - автогенерируемые. Свой код размещайте в своих  файлах. В PhAb-е в качестве колбэков указывайте "MyCallBack@MyFile.c" - функция MyCallBack() в исходнике MyFile.c . Если этой функции ещё нет, по кнопочке "Apply" в PhAb-е она будет дописана в конец файла.
Записан

Gray©at
Страниц: [1]
  Печать  
 
Перейти в: