Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Очень популярная тема (более 25 ответов) Функция OpenToolsForm и не Русская винда. (число прочтений - 8042 )
xliding
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 13. Декабря 2010
Функция OpenToolsForm и не Русская винда.
13. Декабря 2010 :: 09:21
Печать  
Очень замечательная Процедура "ОткрытьПлавающуюФорму()" не выполняется если в региональных настройках виндов для программ не поддерживающих Unicode установлен не Русский (и не английский!). В конфе используется английский синтаксис и соответственно название процедуры OpenToolsForm. Вероятно это глюк самой FormEx. Но я надеюсь что кто-нибудь всеже знает как его победить.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1532
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Функция OpenToolsForm и не Русская винда.
Ответ #1 - 13. Декабря 2010 :: 10:52
Печать  
А если так?
  

fe_test_018.zip ( 238 KB | Загрузки )

FormEx developer
Наверх
www  
IP записан
 
xliding
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 13. Декабря 2010
Re: Функция OpenToolsForm и не Русская винда.
Ответ #2 - 13. Декабря 2010 :: 17:11
Печать  
Товарищ! А Вы cлучайно не разработчик FormEx? Круглые глаза. Заработала процедура. Не знал что обновление вышло. Большое спасибо. У меня еще 2 желания осталось, можно использовать... Язык... - При тех же условиях не только не работает, но и ведет себя "враждебно" очень важная для меня счас DisableCloseFormByButton(). Приходится try-ить. И сразу второе: Хочется использовать План раскраски вместо обычной, но там служебное поле на русском, может есть возможность подставить английский аналог? Заранее спасибо.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1532
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Функция OpenToolsForm и не Русская винда.
Ответ #3 - 14. Декабря 2010 :: 08:22
Печать  
xliding писал(а) 13. Декабря 2010 :: 17:11:
Товарищ! А Вы cлучайно не разработчик FormEx? Круглые глаза.


Случайно разработчик Улыбка

xliding писал(а) 13. Декабря 2010 :: 17:11:
Заработала процедура. Не знал что обновление вышло. Большое спасибо.


Обновление и не вышло. Это я вчера подправил и сюда скинул.
Не за что.

xliding писал(а) 13. Декабря 2010 :: 17:11:
У меня еще 2 желания осталось, можно использовать... Язык... - При тех же условиях не только не работает, но и ведет себя "враждебно" очень важная для меня счас DisableCloseFormByButton(). Приходится try-ить.


Тут боюсь ничем помочь не смогу. Там функция простая, как морковка. С ходу даже не могу придумать что там может вызывать такую враждебность.

xliding писал(а) 13. Декабря 2010 :: 17:11:
И сразу второе: Хочется использовать План раскраски вместо обычной, но там служебное поле на русском, может есть возможность подставить английский аналог? Заранее спасибо.


Это можно.
Добавил для FormEx_ПланРаскраски английский аналог - FormEx_ColoringPlan
Приложено.
  

fe_test_019.zip ( 238 KB | Загрузки )

FormEx developer
Наверх
www  
IP записан
 
xliding
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 13. Декабря 2010
Re: Функция OpenToolsForm и не Русская винда.
Ответ #4 - 14. Декабря 2010 :: 10:35
Печать  
Я знал что чудеса бывают! Спасибо большое за помощь! Прямо даже как-то неловко спрашивать, но всеже я уверен что это поможет всем тем кто "стремиться" использовать 7.7 на не Русских виндах. Если нельзя победить DisableCloseFormByButton, то может можно как-то сделать чтоб окно с вопросом на сохранение документа не выскакивало перед тем как попасть в OnWrite()?. Или текст там подменить на другой как-то. Это конечно уже не совсем по компоненте... в любом случае большое спасибо и вообще за FormEx.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1532
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Функция OpenToolsForm и не Русская винда.
Ответ #5 - 15. Декабря 2010 :: 09:37
Печать  
Насколько я понимаю, надо просто английский интерфейс для 1С установить.
  

FormEx developer
Наверх
www  
IP записан
 
xliding
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 13. Декабря 2010
Re: Функция OpenToolsForm и не Русская винда.
Ответ #6 - 15. Декабря 2010 :: 11:10
Печать  
Само собой используется английский интерфейс. Просто мне  сообщения на английском тоже не подходят. Надо на немецком, а там умляуты по полной. Я 1crceng.dll подправляю где можно редактором ресурсов, но там тоже проблема с кодировкой. Я ее чет не могу изменить, может редактор плохой... Лучше бы чтоб предупреждающие окна типа "Save the document?" вообще не возникали. Только пользователей пугают.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1532
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Функция OpenToolsForm и не Русская винда.
Ответ #7 - 15. Декабря 2010 :: 13:02
Печать  
А как в таком случае должно вести себя нажатие на "крестик"? Форма должна молча закрываться без сохранения изменений?
  

FormEx developer
Наверх
www  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Функция OpenToolsForm и не Русская винда.
Ответ #8 - 15. Декабря 2010 :: 13:09
Печать  
xliding писал(а) 15. Декабря 2010 :: 11:10:
Само собой используется английский интерфейс. Просто мне  сообщения на английском тоже не подходят. Надо на немецком, а там умляуты по полной. Я 1crceng.dll подправляю где можно редактором ресурсов, но там тоже проблема с кодировкой. Я ее чет не могу изменить, может редактор плохой... Лучше бы чтоб предупреждающие окна типа "Save the document?" вообще не возникали. Только пользователей пугают.

В какой стране работаешь, если не секрет? англо-немецкий интерфейс интересен Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
xliding
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 13. Декабря 2010
Re: Функция OpenToolsForm и не Русская винда.
Ответ #9 - 15. Декабря 2010 :: 14:05
Печать  
Да, я имею ввиду нажатие на крестик или клавишу Esc. В идеале я хотел-бы чтоб сообщение о сохранении не открывалась вообще, тк. OnWrite() вызывается уже после его появления. Я конечно могу поменять там текст в ресурсе на свой, но! это же универсальное окно и появляться может в разных видах документов, а менять текст программно я не могу, или не знаю как Печаль.
  
Наверх
 
IP записан
 
xliding
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 13. Декабря 2010
Re: Функция OpenToolsForm и не Русская винда.
Ответ #10 - 15. Декабря 2010 :: 14:14
Печать  
artbear писал(а) 15. Декабря 2010 :: 13:09:
В какой стране работаешь, если не секрет? англо-немецкий интерфейс интересен Улыбка


Я использую английский интерфейс. Перевести его полностью на немецкий, как мне надо, сильно много сил требует, да и не возможно это сделать корректно. Я выше объяснил почему. Поэтому я изменяю только то что необходимо, максимально скрывая от пользователя интерфейсные части где есть слова на английском.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1532
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Функция OpenToolsForm и не Русская винда.
Ответ #11 - 15. Декабря 2010 :: 15:32
Печать  
xliding писал(а) 15. Декабря 2010 :: 14:05:
Да, я имею ввиду нажатие на крестик или клавишу Esc. В идеале я хотел-бы чтоб сообщение о сохранении не открывалась вообще, тк. OnWrite() вызывается уже после его появления. Я конечно могу поменять там текст в ресурсе на свой, но! это же универсальное окно и появляться может в разных видах документов, а менять текст программно я не могу, или не знаю как Печаль.


Так что с объектом-то должно происходить? Движок ведь будет ждать ответа на заданный вопрос. Можно погасить окно с вопросом, но ответ-то какой-то движку надо будет передать.
  

FormEx developer
Наверх
www  
IP записан
 
xliding
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 13. Декабря 2010
Re: Функция OpenToolsForm и не Русская винда.
Ответ #12 - 15. Декабря 2010 :: 19:52
Печать  
Моя OnWrite() выглядит так:
Procedure OnWrite()
     ReturnStatus(0);
     Form.Close(0);
Endprocedure

Этот и недо передать. Т.е закрыть форму без вопросов. Или пусть попадает в OnWrite() я сам прикрою.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1532
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Функция OpenToolsForm и не Русская винда.
Ответ #13 - 15. Декабря 2010 :: 20:10
Печать  
Хм... Похоже, меня не понимают...
Смотри сюда. Что происходит при нажатии "крестика" или ESC:
1. Движок 1С проверяет модифицирован ли объект.
2. Если модифицирован, выдается вопрос "сохранить документ?". Если не модифицирован, то переходит к п.6
3. На вопрос можно ответить "Да", "Нет", "Отмена"
4. Если ответ "Отмена", то 1С возвращается к редактированию документа.
5. Если ответ "Да" вызавается процедура ПриЗаписи() и по итогам ее работы переходит к п.6 или возвращается к редактированию документа. Если ответ "Нет", то переходит к п.6.
6. Движок 1С вызывает процедуру ПриЗакрытии() по итогам ее работы закрывает форму или возвращается к редактированию.

Вот как-то так.
Ты хочешь, чтобы пункт 2. для модифицированного документа сразу переходил к п.6, как и для не модифицированного.
Так вот я спрашиваю что же делать с модифицированными данными в документе в этом случае: или просто игнорировать все изменения (автоматически посылать ответ "Нет"), или записывать все изменения (автоматически посылать ответ "Да"), или как-то иначе действовать?
  

FormEx developer
Наверх
www  
IP записан
 
xliding
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 13. Декабря 2010
Re: Функция OpenToolsForm и не Русская винда.
Ответ #14 - 15. Декабря 2010 :: 20:51
Печать  
Я очень все прекрасно понял. Как все происходит я знаю. НО! у меня такая задача ... как бы это сказать не типичная что-ли. У меня не может быть не проведенных документов. Т.с отраслевое решение. Пользователи не знают что такое документ, справочник итп... Документы заполняются сами. Смысл в том что пользователь или жмет, условно, на выполнить и документ проводиться или отказывается от нее. Юзеру не нужно лишних вопросов о сохранении, если он случайно! вместо кнопки "Выйти" нажмет крестик или Esc.
Если честно, то мне самому этот маразм не нравиться. Но тех. требования такие и юзеры тупые.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать