Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вт мар 28, 2017 2:56 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 96 сообщений ]  На страницу Пред. 1 2 3 4 57 След.
Автор Сообщение
 Заголовок сообщения: Re: VS 2013 C++, pe2kos и Hello World
СообщениеДобавлено: Пт дек 26, 2014 10:56 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пт дек 12, 2014 7:19 pm
Сообщения: 60
Как можно реализовать прием сообщений только по отрисовке и закрытие окна, а нажатия кнопок клавиатуры и мыши игнорировались?

Хотя будет достаточно аналога из Delphi:
Код:
Application.ProcessMessages;

Просто по команде получить весь список сообщений и его обработать в цикле. Пробовал сделать цикл и получение сообщений в нем, но не смог отследить, что сообщения закончились.


Вернуться к началу
 Заголовок сообщения: Re: VS 2013 C++, pe2kos и Hello World
СообщениеДобавлено: Пт дек 26, 2014 2:20 pm 
Не в сети

Зарегистрирован: Ср май 18, 2005 7:27 pm
Сообщения: 1001
глянь
http://wiki.kolibrios.org/wiki/C/C%2B%2B_programming

case 2:
// key pressed, read it and ignore
_msys_get_key();
break;


Вернуться к началу
 Заголовок сообщения: Re: VS 2013 C++, pe2kos и Hello World
СообщениеДобавлено: Пт дек 26, 2014 2:54 pm 
Не в сети
Just Flooding
Аватара пользователя

Зарегистрирован: Чт дек 11, 2014 1:31 am
Сообщения: 173
Думаю он спрашивал не про нажатие кнопок, а про то накапливает ли KOS запросы на отрисовку GUI и если да, то как заставить её отрисовать всё сразу.

Спойлер: Показать
Я тут не специалист и зарегистрировался только недавно, поэтому могу только предполагать. попробуй, прокатит ли такой трюк с аналогом Функции 12:
Код:
kos_WindowRedrawStatus(2), kos_WindowRedrawStatus(1);
// удаляет все определённые (функцией 8) кнопки,
// их можно определить повторно.
// Для этого удобно использовать отдельную функцию,
// чтобы не писать список кнопок заново.


Последний раз редактировалось kiv Вт дек 30, 2014 3:56 am, всего редактировалось 5 раз.

Вернуться к началу
 Заголовок сообщения: Re: VS 2013 C++, pe2kos и Hello World
СообщениеДобавлено: Пт дек 26, 2014 3:45 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт дек 12, 2014 7:19 pm
Сообщения: 60
я пытался делать через http://wiki.kolibrios.org/wiki/SysFn11/ru, но тут бесконечный цикл получается, по теории правильно.
Код:
void ProcessMessages()
{
   for(;;)
   {
      switch (kos_CheckForEvent())
      {
      case 0:
         return;
      case 1:
         draw_window();
         break;
      case 3:
         kos_ExitApp();
         break;
      }
   }
}

kos_CheckForEvent:
Код:
Dword kos_CheckForEvent()
{
   __asm{
      push 11
      pop eax
      int 0x40
   }
}


Вернуться к началу
 Заголовок сообщения: Re: VS 2013 C++, pe2kos и Hello World
СообщениеДобавлено: Пт дек 26, 2014 4:10 pm 
Не в сети
Just Flooding
Аватара пользователя

Зарегистрирован: Чт дек 11, 2014 1:31 am
Сообщения: 173
1. определяешь кнопку в следствии чего начинается очередная перерисовка
2. срабатывает case 1
3. в котором начинается очередная перерисовка
Так?


добавь запись в лог перед break и всё станет ясно


Последний раз редактировалось kiv Вт дек 30, 2014 2:59 am, всего редактировалось 3 раза.

Вернуться к началу
 Заголовок сообщения: Re: VS 2013 C++, pe2kos и Hello World
СообщениеДобавлено: Пт дек 26, 2014 4:11 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1591
Если событие нажатия на клавишу было в очереди, то оно оттуда не уйдёт, пока не будет считано функцией 2. Если оно не нужно, можно его замаскировать функцией 40.

_________________
Сделаем мир лучше!


Вернуться к началу
 Заголовок сообщения: Re: VS 2013 C++, pe2kos и Hello World
СообщениеДобавлено: Вс дек 28, 2014 9:47 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт дек 12, 2014 7:19 pm
Сообщения: 60
После коммита авто-сборщик выдает ошибку. Почему может не создаваться "func.obj"? (исходники)
Код:
*  10% 1) [0.003s] build-rus/programs/games/LaserTank/trunk
tup error: Unable to create output file 'func.obj' because it is already owned by command 171664.
 - [171664] build-rus/programs/games/LaserTank/trunk/[cl /c /O2 /Os /Oy /GF /GS- /GR- /EHs-c- /fp:fast /GL /QIfist /Gr /arch:IA32 /DAUTOBUILD /DLANG=RUS /Fofunc.obj smalllibc/func.cpp >&2]
tup error [string "builtin"]:233: Failed to define rule.
stack traceback:
   [C]: in function 'definerule'
   [string "builtin"]:233: in function 'frule'
   [string "builtin"]:309: in function 'foreach_rule'
   [string "../../../use_msvc.lua"]:10: in function 'compile_msvc'
   [string "Tupfile.lua"]:12: in main chunk
 *** tup: 1 job failed.


Вернуться к началу
 Заголовок сообщения: Re: VS 2013 C++, pe2kos и Hello World
СообщениеДобавлено: Вс дек 28, 2014 11:10 pm 
Не в сети
Public Relations
Аватара пользователя

Зарегистрирован: Пн июн 07, 2010 12:01 pm
Сообщения: 1879
ZblCoder писал(а):
После коммита авто-сборщик выдает ошибку. Почему может не создаваться "func.obj"?
Я вижу минимум 2 проблемы (возможно, есть что-то ещё, но это то, что я заметил, просто глянув на файлы):
  1. Несоответствие названия файла ...smalllibc/mcsmemm.h подключаемому в ...smalllibc/func.h
    Код:
    #include "MCSMEMM.H"
    Linux различает верхний и нижний регистр - для него MCSMEMM.H и mcsmemm.h - это 2 разных файла. Так что нужно либо файл переименовать на верхний регистр, либо в #include использовать нижний.
  2. В других примерах сборки MSVC на SVN я вижу в tupfile.lua в строчке "compile_msvc" включение только .cpp-файлов, тогда как ты включил и .h


Вернуться к началу
 Заголовок сообщения: Re: VS 2013 C++, pe2kos и Hello World
СообщениеДобавлено: Вс дек 28, 2014 11:25 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт дек 12, 2014 7:19 pm
Сообщения: 60
1. Поменял в файле на нижний регистр, но ошибка та же (проверил в се файлы, больше мест нет).
2. Если без *.h файлов, то ошибок вообще тонна http://builds.kolibrios.org/logs/svn5280-err.txt


Вернуться к началу
 Заголовок сообщения: Re: VS 2013 C++, pe2kos и Hello World
СообщениеДобавлено: Вс дек 28, 2014 11:41 pm 
Не в сети
Public Relations
Аватара пользователя

Зарегистрирован: Пн июн 07, 2010 12:01 pm
Сообщения: 1879
ZblCoder писал(а):
1. Поменял в файле на нижний регистр, но ошибка та же (проверил в се файлы, больше мест нет).
2. Если без *.h файлов, то ошибок вообще тонна http://builds.kolibrios.org/logs/svn5280-err.txt
В include-ах относительный путь должен быть правильным, если это не системная библиотека вроде #include <stdarg.h>.
Например, в файле ...games/LaserTank/trunk/image.cpp, вместо
Код:
#include "kosSyst.h"
должно быть
Код:
#include "smalllibc/kosSyst.h"


Вернуться к началу
 Заголовок сообщения: Re: VS 2013 C++, pe2kos и Hello World
СообщениеДобавлено: Вс дек 28, 2014 11:56 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт дек 12, 2014 7:19 pm
Сообщения: 60
ууууу, стал еще более жестокий ужас, но все *.obj собрал.
http://builds.kolibrios.org/logs/svn5281-err.txt


Вернуться к началу
 Заголовок сообщения: Re: VS 2013 C++, pe2kos и Hello World
СообщениеДобавлено: Вс дек 28, 2014 11:59 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пт дек 12, 2014 7:19 pm
Сообщения: 60
Также для отчета выкладываю видео последней собранной версии.


Вернуться к началу
 Заголовок сообщения: Re: VS 2013 C++, pe2kos и Hello World
СообщениеДобавлено: Пн дек 29, 2014 12:16 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Последний раз редактировалось Mario_r4 Вс янв 04, 2015 9:56 pm, всего редактировалось 1 раз.

Вернуться к началу
 Заголовок сообщения: Re: VS 2013 C++, pe2kos и Hello World
СообщениеДобавлено: Пн дек 29, 2014 12:20 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пт дек 12, 2014 7:19 pm
Сообщения: 60
Mario_r4 писал(а):
ZblCoder
Чем видео захватывал?

Open Broadcaster Software, через нее еще стримлю.


Вернуться к началу
 Заголовок сообщения: Re: VS 2013 C++, pe2kos и Hello World
СообщениеДобавлено: Пн дек 29, 2014 12:41 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Последний раз редактировалось Mario_r4 Вс янв 04, 2015 9:56 pm, всего редактировалось 1 раз.

Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 96 сообщений ]  На страницу Пред. 1 2 3 4 57 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB