Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Заменя точки или запятой на DecimalSeparator 
V
    Опции темы
Нитонисе
Дата 25.5.2013, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Обрабатываю собтие OnKeyPress в поле Edit
Код

if (Key == ',' || Key == '.')
{
    Key = DecimalSeparator;
}

Компилятор ругается таким сообщением
Код

[BCC32 Fatal Error] UMain.cpp(279): F1004 Internal compiler error at 0x1dbe74f1 with base 0x1dbe0000

PM MAIL   Вверх
volatile
Дата 25.5.2013, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 3
Всего: 85



Цитата(Нитонисе @  25.5.2013,  20:08 Найти цитируемый пост)
Internal compiler error 

Это уже нельзя назвать 'Компилятор ругается'
Это он вываливаецца с ошибкой. Баг в компиляторе по любому.
Этого не должно быть никогда, в независимости от того что вы написали в коде.
Ищите апдейты, и проч, если оно есть...


PM MAIL   Вверх
Dem_max
Дата 26.5.2013, 06:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 14
Всего: 39



Решение простое, закрываем проект, закрываем компилятор и запускаем компилятор заного, а потом по новому компилим, если не помогает(ну очень редкий сллучай) то нужно перегрузить ПК


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
Нитонисе
Дата 26.5.2013, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Цитата(Dem_max @  26.5.2013,  06:04 Найти цитируемый пост)
Решение простое, закрываем проект, закрываем компилятор и запускаем компилятор заного, а потом по новому компилим, если не помогает(ну очень редкий сллучай) то нужно перегрузить ПК

Действительно  smile 
PM MAIL   Вверх
Dem_max
Дата 26.5.2013, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 14
Всего: 39



Привыкай, иногда раза 3 на дню бывает такая хрень.


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
volatile
Дата 26.5.2013, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 3
Всего: 85



Цитата(Dem_max @  26.5.2013,  14:21 Найти цитируемый пост)
иногда раза 3 на дню бывает такая хрень

мда уж. и как у вас нервы выдерживают?

В 8-ой студии до 1-го апдейта было иногда такое, после установки обновления проблема исчезла.


PM MAIL   Вверх
Нитонисе
Дата 26.5.2013, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Цитата(Dem_max @  26.5.2013,  14:21 Найти цитируемый пост)
Привыкай, иногда раза 3 на дню бывает такая хрень.

Все таки есть какая-то странность. Вот опять на DecimalSeparator начались проблемы. Я их решил тем, что обработчик нажатия клавиши сделал отдельной функцией, не являющейся членом класса формы. И при нажатии клавиши просто эту функцию вызываю. Там DecimalSeparator принимается нормально.
PM MAIL   Вверх
Нитонисе
Дата 11.10.2013, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Сменил студию XE на XE4 - появилась проблема с DecimalSeparator. Код, который работал в XE - в XE4 не хочет компилироваться. Ошибка вот такая:

Код

[bcc32 Error] Functions.cpp(82): E2451 Undefined symbol 'DecimalSeparator'


Префикс должен какой-то спереди стоять чтоли. Я так понимаю можно создать структуру TFormatSettings у которой есть поле DecimalSeparator. Назначить нужный разделитель - и вперед. Но мне такой подход не нравится. Хочу использовать системный разделитель. Как взять это значение?
PM MAIL   Вверх
Нитонисе
Дата 12.10.2013, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 917
Регистрация: 5.11.2009

Репутация: 2
Всего: 2



Вопрос решил вот так.
Код

TFormatSettings fs;
GetLocaleFormatSettings(0,fs);
Key = fs.DecimalSeparator;


Это сообщение отредактировал(а) Нитонисе - 12.10.2013, 10:38
PM MAIL   Вверх
C4EBA
Дата 20.2.2014, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 13.4.2009

Репутация: нет
Всего: 1



В Дельфи, при переходе на поздние версии, когда компилятор стал ругаться на 
DecimalSeparator := '.'; 
проблему решила замена на 
FormatSettings.DecimalSeparator := '.';
Может, и в Билдере аналогичная замена выручит? 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0803 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.