OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Среда, 18 Сентябрь, 2019 20:39

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 41 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
СообщениеДобавлено: Пятница, 19 Ноябрь, 2010 13:37 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2931
Откуда: г. Ярославль
У меня тоже всегда выход с сохранением. Лучше выход "без сохранения" был бы отдельной операцией, а сохранение нужно всегда, почти.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 19 Ноябрь, 2010 14:49 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8174
Откуда: Троицк, Москва
Коллеги, выражайтесь яснее.
Предложение поменять умолчания в базовой версии -- или что? (Думаете, я помню, что там?)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 19 Ноябрь, 2010 14:58 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2931
Откуда: г. Ярославль
Закрыть ББ так, чтобы сохранялка сработала всегда, невозможно, насколько я знаю. Поэтому приходится закрывать через меню.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 19 Ноябрь, 2010 16:45 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4489
Откуда: Россия, Орёл
Info21 писал(а):
Коллеги, выражайтесь яснее.
Предложение поменять умолчания в базовой версии -- или что? (Думаете, я помню, что там?)
Иван Кузьмицкий писал(а):
Закрыть ББ так, чтобы сохранялка сработала всегда, невозможно, насколько я знаю. Поэтому приходится закрывать через меню.
я предложил к рассмотрению вопрос об изменении наоборот текущего поведения. В меню поставить пункт "Выйти без сохранения десктопа" в дополнение к просто "Выйти (с сохранением)". Последнее, чтобы срабатывало всегда (по кресту, Alt+F4,...), нужно вделывать в хост.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 19 Ноябрь, 2010 20:40 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2365
А куда надо в делывать в хост не подскажите с налету? Тоже мечтаю о таком функционале :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 19 Ноябрь, 2010 20:53 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2311
Откуда: Россия, Томск
Я тоже думал вделывать в хост, а сейчас вот подумал, что можно сохранять десктоп просто при выгрузке модуля Config. Всё равно этот модуль больше нигде не используется при разработке, а значит, выгружается только при выходе из ББ. Чтобы НЕ сохранять конфигурацию, можно просто в модуле Desktop предусмотреть глобальный флаг AutoSave (по умолчанию = TRUE), который и сбрасывать из специального пункта меню перед выходом без сохранения.

Я гений.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 19 Ноябрь, 2010 21:42 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2365
Проверил, так получается вроде, что он выгружается, когда все окна уже закрылись, такую конфигурацию и сохраняет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 19 Ноябрь, 2010 21:57 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2311
Откуда: Россия, Томск
divan писал(а):
Проверил, так получается вроде, что он выгружается, когда все окна уже закрылись, такую конфигурацию и сохраняет.
Значит, я не гений.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 20 Ноябрь, 2010 06:38 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4489
Откуда: Россия, Орёл
divan писал(а):
А куда надо в делывать в хост не подскажите с налету? Тоже мечтаю о таком функционале :)
Правки для сохранения всегда при старом десктопе: viewtopic.php?p=50772#p50772. На их базе, думаю, сделаете. Старый --- до варианта viewtopic.php?p=52717#p52717.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 20 Ноябрь, 2010 09:59 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8174
Откуда: Троицк, Москва
Я просто посадил выход с сохранением на Ctrl+Shift+W.

На фиг хост. Не нравится мне это.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 25 Июль, 2011 22:22 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4489
Откуда: Россия, Орёл
У меня появилась проблема: использование одного и того же (файла) десктопа (синхронизируется) на машинах с разным разрешением экрана (использовать одинаковое не возможно физически).

Вкупе с отделившейся веткой про выравнивание окон по левой/правой границе появилась идея: добавить к окну статус "выровнено по левому | правому краю", который будет храниться в десктопе. При восстановлении окна с таким статусом будут позиционироваться и принимать высоту согласно размеру главного окна (которое обычно развёрнуто и соответствует размеру экрана).

Этот костыль будет хотя бы по минимуму имитировать размещение окон в ОС Оберон.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 26 Июль, 2011 05:13 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8174
Откуда: Троицк, Москва
Евгений Темиргалеев писал(а):
У меня появилась проблема: использование одного и того же (файла) десктопа (синхронизируется) на машинах с разным разрешением экрана (использовать одинаковое не возможно физически). ...
Да, есть такая проблема. И указанное решение -- наиболее естественое.

Может, подпилите Desktop и пришлете мне?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 16 Май, 2012 11:56 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4489
Откуда: Россия, Орёл
Код:
   PROCEDURE ReadConverter ( VAR rd: Stores.Reader;  OUT conv: Converters.Converter );
      VAR  imp, exp: Dialog.String; ... c: Converters.Converter;
   BEGIN
      ...
      rd.ReadSet( opts );
--->      Converters.Register( imp, exp, storeType, fileType, opts );
      c := Converters.list;
      WHILE ( c # NIL ) &
         ~( ( c.imp = imp ) & ( c.exp = exp ) &
            ( c.storeType = storeType ) & ( c.fileType = fileType ) & ( c.opts = opts ) )
      DO
         c := c.next
      END;
      conv := c
   END ReadConverter;
Енто дело плодит конвертеры, поскольку Register добавляет новый в конец списка буквально --- создаёт новый и добавляет. Поэтому тут проверять --- не повредит:
Код:
   PROCEDURE ReadConverter ( VAR rd: Stores.Reader;  OUT conv: Converters.Converter );
      VAR  imp, exp: Dialog.String; ... c: Converters.Converter;
   BEGIN
      ...
      rd.ReadSet( opts );
      c := Converters.list;
      WHILE ( c # NIL ) &
         ~( ( c.imp = imp ) & ( c.exp = exp ) &
            ( c.storeType = storeType ) & ( c.fileType = fileType ) & ( c.opts = opts ) )
      DO
         c := c.next
      END;
      IF c = NIL THEN
         Converters.Register( imp, exp, storeType, fileType, opts );
         c := Converters.list;
         WHILE ( c # NIL ) &
            ~( ( c.imp = imp ) & ( c.exp = exp ) &
               ( c.storeType = storeType ) & ( c.fileType = fileType ) & ( c.opts = opts ) )
         DO
            c := c.next
         END
      END;
      conv := c
   END ReadConverter;


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 16 Май, 2012 13:41 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2311
Откуда: Россия, Томск
Вам явно нужна функция FindConverter.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 16 Май, 2012 14:42 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8174
Откуда: Троицк, Москва
Сложновато на первый взгляд...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 04 Март, 2013 19:51 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4489
Откуда: Россия, Орёл
Интересно, можно ли сделать конвертер для файла десктопа? В том смысле, что его действие будет не совсем вписываться в логику Converters.Converter и могут быть подводные камни...

А то можно получить:
1) Загрузка заданного десктопа при пуске: ./BlackBox.exe xxx.i21
2) Отказаться от спец. команд "сохранить декстоп" и пр.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 04 Март, 2013 20:13 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2601
Откуда: Россия, Ярославль
Механизм интернализации вроде как должен возвращать ненулевое отображение, иначе будет постоянно возникать сообщение об ошибке. А при экстернализации тоже свои особенности нельзя просто взять и сохранить сущность, которая не является отображением, и не инкапсулирована в него. Всё равно что в форме открыть какой-то свой "проект" для редактирования (обычная форма, с интеракторами и гридом, например), а потом попытаться сохранить её стандартными средствами. Хотя, если для десктопа будет постоянно открыто родное "отображение", например, в виде маленькой иконки в окне (а окно будет мешать, вероятно), то сохранение/загрузка этой иконки в принципе может инициировать и остальные операции по загрузке десктопа.
Получается, вроде как, якорь десктопа.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 05 Сентябрь, 2014 22:13 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4489
Откуда: Россия, Орёл
Товарищи, проверьте:
1) Открыть любой кодовый файл
2) Сохранить десктоп
3) Открыть десктоп
Возникает ли при загрузке трап?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 07 Октябрь, 2014 14:35 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4489
Откуда: Россия, Орёл
Причина: viewtopic.php?t=2853


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Октябрь, 2016 18:13 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4489
Откуда: Россия, Орёл
Код:
   PROCEDURE Close*;
      ...
   BEGIN
      IF Unsaved() # NIL THEN
         Dialog.ShowMsg('#i21sys:CannotExit');   <---- должно быть CannotClose
         ...
      ELSE
         ...
      END
   END Close;


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 41 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB