Ничего идеального не бывает. Когда создавался движок, посчитали, что нет смысла выделять на длину/ширину больше, а теперь, по-видимому, затраты на исправление данной ситуации превосходят выгоду.
Да и опять же, Вы б показали мне для начала стандарт, где прямо сказано, что это баг.
Кстати, мне не совсем ясно, если в Opera длина и ширина объявлены как uint16, то с какой радости оно вдруг должно стать отрицательным?
По-моему причину уже миллион раз объясняли: Opera работает под кучей различных платформ (в том числе всякие телевизоры, приставки и т.п.), а движок везде один и тот же. Так вот это типа ограничение, накладываемое некоторыми платформами.
Я далёк от веб-разработки, но… неужели 216 — это так мало? o_O Зачем вообще можно использовать такие размеры?
Я не без удовольствия потыкал Small Basic — так сказать, понастальгировал, ибо в своё время начинал свой программерский путь с QBasic.
Но, если честно, Small Basic — отстой! Ничему хорошему он не научит. Там даже нормальных процедур нет, в то время как массивы представлены полноценными объектами.
Для того чтобы интегрировать в вижуал, я вижу два пути:
1) настраивать каждый раз вручную для проекта Pre-Build Events (собственно препроцессинг) и Post-Build Events (зачистка сгенерированных файлов). Впрочем, есть способ немного упростить процесс настройки, но всё равно будет не очень удобно.
2) писать код с кусками метапрограммирования в файлах с другим расширением. Тогда можно попробовать заюзать такую штуку как Custom Build Rules.
А отображение ошибок сделать проще простого. В MSDN описан формат, в котором кастомные тулзы должны выдавать ошибки и предупреждения. Если его придерживаться, то ошибки будут отображаться в окне Errors, а двойной клик на ошибку перебросит на нужную строку. Я так doxygen прикручивал когда-то.
P.S. Сорри, что без скринов. У меня вижуал на русском :)
Да и опять же, Вы б показали мне для начала стандарт, где прямо сказано, что это баг.
Кстати, мне не совсем ясно, если в Opera длина и ширина объявлены как
uint16
, то с какой радости оно вдруг должно стать отрицательным?Тем более, всем известно, что у Opera Mobile движок тот же, что и у Desktop-версии, и в этом как раз вся фишка.
Я далёк от веб-разработки, но… неужели 216 — это так мало? o_O Зачем вообще можно использовать такие размеры?
неавтору не в личку».Написал не автору не в личку, чтобы остальные тоже прочитали…
Но, если честно, Small Basic — отстой! Ничему хорошему он не научит. Там даже нормальных процедур нет, в то время как массивы представлены полноценными объектами.
1) настраивать каждый раз вручную для проекта Pre-Build Events (собственно препроцессинг) и Post-Build Events (зачистка сгенерированных файлов). Впрочем, есть способ немного упростить процесс настройки, но всё равно будет не очень удобно.
2) писать код с кусками метапрограммирования в файлах с другим расширением. Тогда можно попробовать заюзать такую штуку как Custom Build Rules.
А отображение ошибок сделать проще простого. В MSDN описан формат, в котором кастомные тулзы должны выдавать ошибки и предупреждения. Если его придерживаться, то ошибки будут отображаться в окне Errors, а двойной клик на ошибку перебросит на нужную строку. Я так doxygen прикручивал когда-то.
P.S. Сорри, что без скринов. У меня вижуал на русском :)