Board.KolibriOS.org

Official KolibriOS board
It is currently Tue Apr 23, 2019 10:04 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 74 posts ]  Go to page Previous 1 2 3 4 5 Next
Author Message
PostPosted: Thu Nov 13, 2014 4:20 pm 
Offline

Joined: Sat Oct 11, 2014 6:06 pm
Posts: 67
Quote:
Assembler++

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

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


Top
   
PostPosted: Thu Nov 13, 2014 4:21 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Nikolai1 wrote:
Quote:
Assembler++

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

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

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


Top
   
PostPosted: Thu Nov 13, 2014 4:23 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1619
Nikolai1 wrote:
Например хотелось бы использовать контейнеры vector и map. Они есть под Kolibri?

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

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


Top
   
PostPosted: Thu Nov 13, 2014 8:38 pm 
Offline

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

}
};


пишет:
Quote:
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 неразрешенных внешних элементов

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


Top
   
PostPosted: Thu Nov 13, 2014 8:53 pm 
Offline
Kernel Developer
User avatar

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

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


Top
   
PostPosted: Thu Nov 13, 2014 9:52 pm 
Offline

Joined: Sat Oct 11, 2014 6:06 pm
Posts: 67
CleverMouse, спасибо большое) теперь работает! :wink:
Хранение всех элементов интерфейса в одном массиве сделал!

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


Top
   
PostPosted: Thu Nov 13, 2014 10:21 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1619
Я обновила генератор.

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


Top
   
PostPosted: Thu Nov 13, 2014 10:59 pm 
Offline

Joined: Sat Oct 11, 2014 6:06 pm
Posts: 67
Box_lib подключить получилось, взял код подключения из программы Table.
Вывожу поле для редактирования текста edit_box таким кодом:
Code:
   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);

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

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


Top
   
 Post subject:
PostPosted: Thu Nov 13, 2014 11:21 pm 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1143
В обработчике событий надо вызывать edit_box_key

_________________
я лишь учусь


Top
   
 Post subject:
PostPosted: Thu Nov 13, 2014 11:26 pm 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1143
И надо установливать фокус на поле ввода. Описане библиотеки http://wiki.kolibrios.org/wiki/Box_lib_editbox/ru

_________________
я лишь учусь


Top
   
PostPosted: Fri Nov 14, 2014 2:01 am 
Offline
User avatar

Joined: Sat Jul 05, 2014 11:15 am
Posts: 88
Nikolai1 wrote:
Например хотелось бы использовать контейнеры vector и map


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

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


Top
   
PostPosted: Tue Nov 18, 2014 2:52 pm 
Offline

Joined: Sat Oct 11, 2014 6:06 pm
Posts: 67
Quote:
Можно. Лучший язык программирования в Колибри для новичков это Assembler++.

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

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

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


Top
   
PostPosted: Tue Nov 18, 2014 5:50 pm 
Offline
User avatar

Joined: Sat Jul 05, 2014 11:15 am
Posts: 88
Nikolai1 wrote:
Я бы очень хотел, чтобы в Kolibri можно было программировать на C++ без всяких заморочек

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


Top
   
PostPosted: Tue Nov 18, 2014 6:13 pm 
Offline

Joined: Sat Oct 11, 2014 6:06 pm
Posts: 67
Quote:
И как бы в подтверждение своих слов вы выбрали аватарку с надписью PHP

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

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


Top
   
PostPosted: Tue Nov 18, 2014 11:59 pm 
Offline
Kernel Developer

Joined: Sun Feb 10, 2013 12:37 pm
Posts: 2329
Nikolai1 wrote:
Я просто на PHP уже несколько лет программирую, это мой "родной" язык :D

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

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


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 74 posts ]  Go to page Previous 1 2 3 4 5 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited