Oberon space
General Category => Общий раздел => Тема начата: ilovb от Май 12, 2013, 08:08:59 am
-
http://www.tecgraf.puc-rio.br/iup/
Вчера пол вечера убил, но так и не смог собрать в VS2012. То ошибки вываливает. То dll не хочет собирать. Там еще модная штука для сборки есть http://www.tecgraf.puc-rio.br/tecmake/ но у меня оно совсем не завелось.
Как это сделать? Помогите, плиз.
В скайнтилле ошибка обнаружилась с русским вводом. Сейчас общаюсь с разрабом на эту тему.
Хочу у себя проверить некоторые идеи. Но блин собрать не могу :(
-
Собрал. Взять исправленный проект можно тут: https://docs.google.com/file/d/0B5S-yO9U6Ec1bE5kVEFHajJKY0U/edit?usp=sharing
Собиралось все MSVS 2012. Соответственно нужно открывать файл iup\mak.vc10\iup.sln (теперь это проект для 2012 студии)
Там можно собрать iup.dll, в этом случае ставим в свойствах проекта iupwin configuration type=dll, а по умолчанию там сейчас собирается iup.lib и iup_scintilla.dll.
-
Спасибо большое!
-
Небольшое дополнение - это все делалось для Debug версии. Релиз может и не собраться.
-
Релиз пока не нужен. Это для экспериментов.
-
Полученная dll не взлетела. Чегой-то там еще настраивать нужно.
Но это уже не нужно, т.к. я разобрался в tecmake и с ней все собирается без проблем.
-
Процесс сборки выглядит примерно так:
(http://s2.developerslife.ru/public/images/gifs/1ee540e9-0a3c-4b23-8731-0dc9671cb57b.gif)
-
Вопрос знатокам c/c++
В каком случае может происходить следующее:
байт преобразуется по след схеме:
E0 ---> 30
E1 ---> 31
E2 ---> 32
и т.д.
Может преобразование типов приводить к такому?
-
Вопрос знатокам c/c++
В каком случае может происходить следующее:
байт преобразуется по след схеме:
E0 ---> 30
E1 ---> 31
E2 ---> 32
и т.д.
Может преобразование типов приводить к такому?
по идее это
shr(shl(b,2),2) - комбинация сдвигов на 2 позиции , сначала влево , а потом вправо... -может применяться для обнуления старших битов в байт -маске
-
либо эквивалентная битовая операция с заданной маской
-
где применяется... ну например в наборах чекбоксов.. каждый установленный бит соответствует состоянию "отмечен" некоторого чекбокса(как визуального компонента)...
-
Тут проблема такая: https://www.youtube.com/watch?v=BaTDVDiGM20
Если набрать "абвгд" то получится "01234"
Т.е. где-то при обработке ввода херятся байтики.
-
при обработке ввода или отображении? с чем по умолчанию работает IUP -с 2 байтным юникодом, или UTF-8? попробуйте установить романскую (французкую) локаль и вывести строку в ней..
-
IUP с юникодом вообще не работает. Там 1251 кодировка.
Отображение работает. Там же видно в видео
-
IUP с юникодом вообще не работает. Там 1251 кодировка.
Отображение работает. Там же видно в видео
установите другую локаль (французскую , убедитесь что шрифт поддерживает ее ) и проверьте, если все ок, то нужно копать дальше, если не получилось.. то вы не полностью что-то инициализировали..), и потом судя по всему у вас вызывается внешний редактор (сайнтиловский) - может там есть какие то особенности?.
-
а лучше португальскую локаль (там есть диакритические знаки Á, Â, Ã, À, Ç, É...).. уж о правильности ввода в родной кодировке создатели точно озаботились...
-
Инициализировано все правильно. Там явно бага. Разработчик в курсе.
-
Победил. Венда посылает символы окну в юникоде, а скайнтилла думает что они однобайтные и берет только младший байт.
Убрал проверку юникодности окна и все заработало.
Написал разрабу об этом.
-
http://forum.oberoncore.ru/viewtopic.php?f=28&t=4356&p=80286#p80286
Пришло письмо от разработчика:
Hi,
Just committed to the CVS a new KEYSUNICODE attribute for IupScintilla on Windows. It will set the keysAlwaysUnicode variable to TRUE.
...
Best,
Scuri
Проверил. Работает.
Достаточно добавить такую строчку в свой код:
Iup.SetAttribute(sci, "KEYSUNICODE", "YES");