менял и на stringw и на stringc но все равно пишет что выражение должно иметь тип класса
ну если тип класса, то может у тебя пространства именн недообъявлены и компилятор просто класс не находит, попробуй так
((irr::gui::IGUIEditBox*)event.GUIEvent.Caller)->getText().c_str();
нет. я все добавил и обьявил все пространства имен
у меня вот такая конструкция скомпилялась без проблем
irr::core::stringw tmp = ((irr::gui::IGUIEditBox*)event.GUIEvent.Caller)->getText();
и далее даже добавил в листбокс полученное значение
listbox->addItem(tmp.c_str());
явно косяки у тебя в другом месте, не знаю почему компилятор тычет тебя именно в эту строку
понял. буду искать диверсанта))))
Кажется я понял где у тебя "диверсант".
Почему ты обращаешься к полю name как к указателю если это это вовсе не указатель?
Допустим есть у тебя структура:
struct sMap
{
stringc name;
};
Тогда
Неправильно:
sMap gmap; gmap->name = "";
Правильно:
sMap gmap;
gmap.name = "";
gmap - это указать на структуру вне класса обработки событий
Тема закрыта. спасибо всем кто помог. Решил не халтурить и создавать все гуи элементы самому а не в программах.
Странно. Я создавал всё в стандартном гуи эдиторе. В 1000 раз легче, чем самому. И всё работало. О чём официально заявляю.
Кстати в гуиедиторе вроде можно только фиксированные размеры и положения объектов задавать.
Если так, то есть аргумент, чтобы строить гуи вручную через код.
Например у меня в редакторе размеры и положения гуи подстраивается под текущий размер окна. Разве будет таким же гибким гуи созданный в гуи редакторе?
это относительно просто обплясывается, тебе нужно нарисовать самый маленький гуи интерфейс и расчитать коэфф-ты пропорции для каждого большего разрешения.
смена размера сведется к пробегу в цикле по всем элементам гуи и перемножению их позиций и размеров на коэффициент
частные переходы - это перемножение на разницу/сумму коэфф-тов
>Кстати в гуиедиторе вроде можно только фиксированные размеры и положения объектов задавать.
Размер можно задать как зависимый от парента. После этого можно задавать размер парента в завимисоти от разрешения и всё. Чилды масштабируются под парента.
Чтобы задать такую зависимость все алигны нужно задать в scale.
LeftAlign = scale;
RightAlign = scale;
TopAlign = scale;
BottomAlign = scale;
Это можно сделать в гуиедиторе.
Тема в архиве.