Создание приложений на классах

High-level languages programming questions
  • Nikolai1 wrote:
    Assembler++
    Это как? простой Assembler даже пробовал изучать, но как-то не пошло(( PHP например я быстро освоил, C++ тоже пока более менее даётся :wink:
    Это макросы. Много макросов.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Nikolai1 wrote:Например хотелось бы использовать контейнеры vector и map. Они есть под Kolibri?
    В smalllibc - нет. В menuetlibc есть простой вариант vector, но никакого map. Serge залил полноценную libstdc++-v3, хотя я её не проверяла, но это очень тяжёлая зависимость, намертво завязанная на gcc. И menuetlibc, и libstdc++-v3 для возможности использования сейчас требуют настройки сильно тяжелее, чем "запустил exe-шник, нажал на кнопку, получил проект для msvc".
    Сделаем мир лучше!
  • MSVC++ не даёт использовать виртуальные функции при компиляции под Kolibri
    даже такой код не работает:

    Code: Select all

    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 неразрешенных внешних элементов
    Чудеса случаются! Это вам любой программист скажет! :)
  • Недоработка генератора. В проекте нужно отключить генерацию RTTI, в русскоязычной VS это называется Свойства -> C/C++ -> Язык -> Включить информацию о типах времени выполнения, опция должна быть "Нет (/GR-)". Свойства открываются либо по выбору последнего пункта из меню по щелчку правой кнопкой на проекте в окне обозревателя решений, либо через меню Проект -> Свойства.
    Сделаем мир лучше!
  • CleverMouse, спасибо большое) теперь работает! :wink:
    Хранение всех элементов интерфейса в одном массиве сделал!
    Чудеса случаются! Это вам любой программист скажет! :)
  • Я обновила генератор.
    Сделаем мир лучше!
  • Box_lib подключить получилось, взял код подключения из программы Table.
    Вывожу поле для редактирования текста edit_box таким кодом:

    Code: Select all

    	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);
    
    Поле выводится нормально, только в нём почему-то нельзя редактировать текст. Не подскажете, в чём может быть причина?
    Чудеса случаются! Это вам любой программист скажет! :)
  • В обработчике событий надо вызывать edit_box_key
    to infinity and beyond
  • И надо установливать фокус на поле ввода. Описане библиотеки http://wiki.kolibrios.org/wiki/Box_lib_editbox/ru
    to infinity and beyond
  • Nikolai1 wrote:Например хотелось бы использовать контейнеры vector и map
    Могу предложить сишные самописные (потому что самому интереснее)
    allocator_array -- что-то похожее на vector, использующее аллокатор
    allocator_list -- что-то похожее на list, использующее аллокатор
    (static_allocator.h находится на уровень выше)
    pool_list -- что-то похожее на list, использующее указанный размер пула

    скачать можно тут
  • Можно. Лучший язык программирования в Колибри для новичков это Assembler++.
    Я бы очень хотел, чтобы в Kolibri можно было программировать на C++ без всяких заморочек, чтобы можно было без проблем использовать существующие библиотеки.

    Сделаю для этого всё, что в моих силах :wink:
    Чудеса случаются! Это вам любой программист скажет! :)
  • Nikolai1 wrote:Я бы очень хотел, чтобы в Kolibri можно было программировать на C++ без всяких заморочек
    И как бы в подтверждение своих слов вы выбрали аватарку с надписью PHP :)
  • И как бы в подтверждение своих слов вы выбрали аватарку с надписью PHP
    Я просто на PHP уже несколько лет программирую, это мой "родной" язык :D
    Чудеса случаются! Это вам любой программист скажет! :)
  • Nikolai1 wrote:Я просто на PHP уже несколько лет программирую, это мой "родной" язык :D
    От оно как! Мы то думали, что ваш родной язык - русский, а оказывается вы по слоновьи лучше понимаете. Будем это учитывать.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Who is online

    Users browsing this forum: No registered users and 1 guest