Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вт окт 24, 2017 9:06 am

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




Начать новую тему  Ответить на тему  [ 74 сообщения ]  На страницу Пред. 1 2 3 4 5 След.
Автор Сообщение
 Заголовок сообщения: Re: Создание приложений на классах
СообщениеДобавлено: Чт ноя 13, 2014 4:20 pm 
Не в сети

Зарегистрирован: Сб окт 11, 2014 6:06 pm
Сообщения: 67
Цитата:
Assembler++

Это как? простой Assembler даже пробовал изучать, но как-то не пошло(( PHP например я быстро освоил, C++ тоже пока более менее даётся :wink:

_________________
Чудеса случаются! Это вам любой программист скажет! :)


Вернуться к началу
 Заголовок сообщения: Re: Создание приложений на классах
СообщениеДобавлено: Чт ноя 13, 2014 4:21 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Nikolai1 писал(а):
Цитата:
Assembler++

Это как? простой Assembler даже пробовал изучать, но как-то не пошло(( PHP например я быстро освоил, C++ тоже пока более менее даётся :wink:

Это макросы. Много макросов.

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


Вернуться к началу
 Заголовок сообщения: Re: Создание приложений на классах
СообщениеДобавлено: Чт ноя 13, 2014 4:23 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1599
Nikolai1 писал(а):
Например хотелось бы использовать контейнеры vector и map. Они есть под Kolibri?

В smalllibc - нет. В menuetlibc есть простой вариант vector, но никакого map. Serge залил полноценную libstdc++-v3, хотя я её не проверяла, но это очень тяжёлая зависимость, намертво завязанная на gcc. И menuetlibc, и libstdc++-v3 для возможности использования сейчас требуют настройки сильно тяжелее, чем "запустил exe-шник, нажал на кнопку, получил проект для msvc".

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


Вернуться к началу
 Заголовок сообщения: Re: Создание приложений на классах
СообщениеДобавлено: Чт ноя 13, 2014 8:38 pm 
Не в сети

Зарегистрирован: Сб окт 11, 2014 6:06 pm
Сообщения: 67
MSVC++ не даёт использовать виртуальные функции при компиляции под Kolibri
даже такой код не работает:
Код:
class Base {
public:
virtual void test() { // определение виртуальной функции

}
};


пишет:
Цитата:
1>core.obj : error LNK2001: неразрешенный внешний символ ""public: virtual void __thiscall Control::draw(void)" (?draw@Control@@UAEXXZ)"
1>core.obj : error LNK2001: неразрешенный внешний символ ""const type_info::`vftable'" (??_7type_info@@6B@)"
1>smalllibc.lib(kosSyst.obj) : error LNK2001: неразрешенный внешний символ ""void __cdecl kos_Main(void)" (?kos_Main@@YAXXZ)"
1>D:\kos\test\Release\test.exe : fatal error LNK1120: 3 неразрешенных внешних элементов

_________________
Чудеса случаются! Это вам любой программист скажет! :)


Вернуться к началу
 Заголовок сообщения: Re: Создание приложений на классах
СообщениеДобавлено: Чт ноя 13, 2014 8:53 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1599
Недоработка генератора. В проекте нужно отключить генерацию RTTI, в русскоязычной VS это называется Свойства -> C/C++ -> Язык -> Включить информацию о типах времени выполнения, опция должна быть "Нет (/GR-)". Свойства открываются либо по выбору последнего пункта из меню по щелчку правой кнопкой на проекте в окне обозревателя решений, либо через меню Проект -> Свойства.

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


Вернуться к началу
 Заголовок сообщения: Re: Создание приложений на классах
СообщениеДобавлено: Чт ноя 13, 2014 9:52 pm 
Не в сети

Зарегистрирован: Сб окт 11, 2014 6:06 pm
Сообщения: 67
CleverMouse, спасибо большое) теперь работает! :wink:
Хранение всех элементов интерфейса в одном массиве сделал!

_________________
Чудеса случаются! Это вам любой программист скажет! :)


Вернуться к началу
 Заголовок сообщения: Re: Создание приложений на классах
СообщениеДобавлено: Чт ноя 13, 2014 10:21 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1599
Я обновила генератор.

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


Вернуться к началу
 Заголовок сообщения: Re: Создание приложений на классах
СообщениеДобавлено: Чт ноя 13, 2014 10:59 pm 
Не в сети

Зарегистрирован: Сб окт 11, 2014 6:06 pm
Сообщения: 67
Box_lib подключить получилось, взял код подключения из программы Table.
Вывожу поле для редактирования текста edit_box таким кодом:
Код:
   kol_struct_import *k = load_edit_box();

   dword_func* edit_box_draw = (dword_func*)kol_cofflib_procload(k, "edit_box");
   char edit_text[256];
   Dword mouse_dd;
   edit_box cell_box = {0,9*8-5,400 - 16-32,0xffffff,0x6a9480,0,0x808080,0,255,(Dword)&edit_text,(Dword)&mouse_dd,0};

   cell_box.width = 50;
   cell_box.left = 100;
   cell_box.top = 10;

   edit_box_draw((Dword)&cell_box);

Поле выводится нормально, только в нём почему-то нельзя редактировать текст. Не подскажете, в чём может быть причина?

_________________
Чудеса случаются! Это вам любой программист скажет! :)


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Чт ноя 13, 2014 11:21 pm 
Не в сети

Зарегистрирован: Вт апр 12, 2011 11:19 pm
Сообщения: 1076
В обработчике событий надо вызывать edit_box_key

_________________
я лишь учусь


Вернуться к началу
 Заголовок сообщения:
СообщениеДобавлено: Чт ноя 13, 2014 11:26 pm 
Не в сети

Зарегистрирован: Вт апр 12, 2011 11:19 pm
Сообщения: 1076
И надо установливать фокус на поле ввода. Описане библиотеки http://wiki.kolibrios.org/wiki/Box_lib_editbox/ru

_________________
я лишь учусь


Вернуться к началу
 Заголовок сообщения: Re: Создание приложений на классах
СообщениеДобавлено: Пт ноя 14, 2014 2:01 am 
Не в сети
Аватара пользователя

Зарегистрирован: Сб июл 05, 2014 11:15 am
Сообщения: 87
Nikolai1 писал(а):
Например хотелось бы использовать контейнеры vector и map


Могу предложить сишные самописные (потому что самому интереснее)
allocator_array -- что-то похожее на vector, использующее аллокатор
allocator_list -- что-то похожее на list, использующее аллокатор
(static_allocator.h находится на уровень выше)
pool_list -- что-то похожее на list, использующее указанный размер пула

скачать можно тут


Вернуться к началу
 Заголовок сообщения: Re: Создание приложений на классах
СообщениеДобавлено: Вт ноя 18, 2014 2:52 pm 
Не в сети

Зарегистрирован: Сб окт 11, 2014 6:06 pm
Сообщения: 67
Цитата:
Можно. Лучший язык программирования в Колибри для новичков это Assembler++.

Я бы очень хотел, чтобы в Kolibri можно было программировать на C++ без всяких заморочек, чтобы можно было без проблем использовать существующие библиотеки.

Сделаю для этого всё, что в моих силах :wink:

_________________
Чудеса случаются! Это вам любой программист скажет! :)


Вернуться к началу
 Заголовок сообщения: Re: Создание приложений на классах
СообщениеДобавлено: Вт ноя 18, 2014 5:50 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Сб июл 05, 2014 11:15 am
Сообщения: 87
Nikolai1 писал(а):
Я бы очень хотел, чтобы в Kolibri можно было программировать на C++ без всяких заморочек

И как бы в подтверждение своих слов вы выбрали аватарку с надписью PHP :)


Вернуться к началу
 Заголовок сообщения: Re: Создание приложений на классах
СообщениеДобавлено: Вт ноя 18, 2014 6:13 pm 
Не в сети

Зарегистрирован: Сб окт 11, 2014 6:06 pm
Сообщения: 67
Цитата:
И как бы в подтверждение своих слов вы выбрали аватарку с надписью PHP

Я просто на PHP уже несколько лет программирую, это мой "родной" язык :D

_________________
Чудеса случаются! Это вам любой программист скажет! :)


Вернуться к началу
 Заголовок сообщения: Re: Создание приложений на классах
СообщениеДобавлено: Вт ноя 18, 2014 11:59 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Nikolai1 писал(а):
Я просто на PHP уже несколько лет программирую, это мой "родной" язык :D

От оно как! Мы то думали, что ваш родной язык - русский, а оказывается вы по слоновьи лучше понимаете. Будем это учитывать.

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


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

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


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

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


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

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