OberonCore
https://forum.oberoncore.ru/

Косяки с отображением данных.
https://forum.oberoncore.ru/viewtopic.php?f=24&t=5898
Страница 1 из 1

Автор:  prospero78 [ Пятница, 23 Сентябрь, 2016 17:14 ]
Заголовок сообщения:  Косяки с отображением данных.

По предложению Ильи Ермакова отдельная тема.
Ссылка на пост:
http://forum.oberoncore.ru/viewtopic.php?f=24&t=5896&p=98300#p98290
Изображение
Теперь буквально тот код, который обновляет данные:
Код:
MODULE ГипОкно101;
   (*
   Модуль даёт привязку к форме отображения СВ 1-2
   *)

   IMPORT мДг := Dialog,
      mSl := StdLog,
      мОкноСекц := ГипОкно_Секционный,
      мСпСекц := СпакСекционный,
      мЯчСекц := БоксСекционный,
      мСост := ОикСостояние;
      
   VAR
      спак*:мОкноСекц.тСпак;
      ячейка*: мОкноСекц.тЯчейка;

   PROCEDURE Гип_Обновить* (VAR сп_: мСпСекц.тСпакСекц; VAR яч_: мЯчСекц.тЯчСекц);
   BEGIN
      мОкноСекц.Спак_Обновить(спак, сп_);
      мОкноСекц.Ячейка_Обновить(ячейка, яч_)
   END Гип_Обновить;

END ГипОкно101.



Вот отсюда каркас берёт данные для обновления. Пока окон было штук дцать -- это косяк не появлялся.
Теперь пытаюсь просто рисовать поля в новом документе.

Вызов обновления ГИП тупо копирует данные из одного места в другое. И назначает Views.Update(_объект_)

Автор:  Иван Денисов [ Суббота, 24 Сентябрь, 2016 04:59 ]
Заголовок сообщения:  Re: Косяки с отображением данных.

Так как ничего все равно не понятно, то скажу на вскидку. У тебя динамические объекты POINTER TO, наверное. А форма с ними плохо дружит. Используй переменные без необходимости вызывать NEW.

Автор:  adva [ Суббота, 24 Сентябрь, 2016 05:49 ]
Заголовок сообщения:  Re: Косяки с отображением данных.

prospero78 писал(а):
Пока окон было штук дцать -- это косяк не появлялся.

Я вообще не подсказчик, но если судить по истории разработки, то и версия ББ менялась. Может в этом дело?

Автор:  prospero78 [ Суббота, 24 Сентябрь, 2016 17:59 ]
Заголовок сообщения:  Re: Косяки с отображением данных.

Не знаю, что сказать ни по версии, но по NEW.
Вроде как, нигде NEW не использую, так как смысла в этом нет (для выгрузки модулей).
Перекомпиляцию полную делаю время от времени..
Усилено смотрю в строну прямого рисования в окнах документов.
Практически все сигналы наследуются от от двух типов -- только на чтение и на запись(от чтения).
Причём часть сигналов не отображается на чтение, и часть на запись(от чтения) )))))
И каждый раз по разному. Какой-то странный глюк. у меня версия была связана с тем, что каркас не успевает что-то сделать. о реальное время работы дорасчёта -- не более 100 мсек со всем барахлом. 1 раз в 5 сек.

Автор:  Иван Кузьмицкий [ Суббота, 24 Сентябрь, 2016 19:41 ]
Заголовок сообщения:  Re: Косяки с отображением данных.

prospero78 писал(а):
у меня версия была связана с тем, что каркас не успевает что-то сделать.
вспомнилась проблема виндовых контролов

Автор:  Иван Денисов [ Суббота, 24 Сентябрь, 2016 20:45 ]
Заголовок сообщения:  Re: Косяки с отображением данных.

prospero78 писал(а):
Практически все сигналы наследуются от от двух типов -- только на чтение и на запись(от чтения).
Причём часть сигналов не отображается на чтение, и часть на запись(от чтения) )))))
И каждый раз по разному. Какой-то странный глюк. у меня версия была связана с тем, что каркас не успевает что-то сделать. о реальное время работы дорасчёта -- не более 100 мсек со всем барахлом. 1 раз в 5 сек.

Раз наследуются, значит сигналы имеют тип POINTER TO, и в момент выгрузки форма теряет эти данные и больше не может эти поля обновлять. Не говорю, что проблема в этом, но надо иметь в виду, такую особенность тоже.

Автор:  Илья Ермаков [ Суббота, 24 Сентябрь, 2016 22:38 ]
Заголовок сообщения:  Re: Косяки с отображением данных.

А что из себя представляют VAR
спак*:мОкноСекц.тСпак;
ячейка*: мОкноСекц.тЯчейка;

Автор:  prospero78 [ Воскресенье, 25 Сентябрь, 2016 14:31 ]
Заголовок сообщения:  Re: Косяки с отображением данных.

Иван Денисов писал(а):
Раз наследуются, значит сигналы имеют тип POINTER TO, и в момент выгрузки форма теряет эти данные и больше не может эти поля обновлять. Не говорю, что проблема в этом, но надо иметь в виду, такую особенность тоже.

Ваня!!! Нет у меня POINTER TO. Кроме Services.Action в единственном виде для планировщика.

Адд. Почитал две темы по наводке -- похоже, WinAPI жестокий тормоз. После выходных попробую померять, что там так тормозит.... Может, зря грешу, хотя похоже, что не зря...

Код:
   TYPE
      тСпак* = RECORD
         Ia*: REAL;
         Ib*: REAL;
         Ic*: REAL;
         Uab*: REAL;
         Ubc*: REAL;
         Uac*: REAL;
      END;

      тЯчейка* = RECORD
         Ia*: REAL;
         Ib*: REAL;
         Ic*: REAL;
         Isr*: REAL;
         Uab*: REAL;
         Ubc*: REAL;
         Uac*: REAL;
         Ulin_sr*: REAL;
         Psum*: REAL;
         Qsum*: REAL;
         Ssum*: REAL;
         F*: REAL;
      END;

Сейчас все поля типов описаны как предопределённый тСтрЗнач = ARRAY 15 OF CHAR. Для обрезания на второй позиции после запятой. Но, как я полагаю, это не существенно. На картинке выше видно, что всего два символа после запятой. Кстати, значение интерактора "-" -- я не выставляю. Сам вылазит)))

Автор:  Илья Ермаков [ Воскресенье, 25 Сентябрь, 2016 17:39 ]
Заголовок сообщения:  Re: Косяки с отображением данных.

Мне кажется, там какое-то невалидное (или здоровое) значение в REAL. И выводится чисто минус от значения.
Show Global Variables что показывает?
А при чём тут ARRAY 15 OF CHAR - не понял.

Автор:  prospero78 [ Воскресенье, 25 Сентябрь, 2016 19:00 ]
Заголовок сообщения:  Re: Косяки с отображением данных.

У меня в измерениях буквально в двух местах отрицательные значения. Выводил в рабочий журнал/проверял. В реальных данных сервера кажет всё правильно.

ARRAY 15 OF CHAR нужен для представления числа в формате (s)[#####].## -- чтобы выглядело не по колхозному.
Сказать, к своему стыду ни разу в просмотр глобальных переменных не заглядывал.

Автор:  Иван Денисов [ Воскресенье, 25 Сентябрь, 2016 19:08 ]
Заголовок сообщения:  Re: Косяки с отображением данных.

prospero78 писал(а):
ARRAY 15 OF CHAR нужен для представления числа в формате (s)[#####].## -- чтобы выглядело не по колхозному.

Для этого лучше просто настрой уровень поля вот так. Не мудри с этими строками.

Вложения:
kolhoz.png
kolhoz.png [ 30.73 КБ | Просмотров: 2563 ]

Автор:  prospero78 [ Воскресенье, 25 Сентябрь, 2016 19:22 ]
Заголовок сообщения:  Re: Косяки с отображением данных.

Хм.... Вот это сейчас было откровение...))))
Ваня, люто плюсую карму)))

Автор:  prospero78 [ Понедельник, 26 Сентябрь, 2016 16:30 ]
Заголовок сообщения:  Re: Косяки с отображением данных.

Вот такая картинка. Объясните недоразвитому: почему при одинаковых координатах одна надпись не накладывается на другую?
Хотя координаты внутри фрейма совпадают 146%???

Адд1. Разобрался. После форматированного вывода впереди пробелы по заполнению))
Но почему на форме впереди минусы -- хз. Сейчас попробую увеличить поле вывода.

Адд2. Увеличил поле выводы величина и да. Форматированное значение тупо не влазит))

Вложения:
2016-09-26_15-26-23.png
2016-09-26_15-26-23.png [ 13.03 КБ | Просмотров: 2532 ]

Автор:  Иван Денисов [ Понедельник, 26 Сентябрь, 2016 18:51 ]
Заголовок сообщения:  Re: Косяки с отображением данных.

prospero78 писал(а):
Адд2. Увеличил поле выводы величина и да. Форматированное значение тупо не влазит))

Это потому, что ты задал минимальную ширину слишком большую при ручной конвертации своих переменных в строки. Ставь при таких случаях просто 0, чтобы никакие пробелы не добавлялись вовсе. Надо внимательно читать документацию Strings.RealToStringForm...

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/