Vitaldj Опубликовано 24 января, 2016 Опубликовано 24 января, 2016 Здравствуйте, Форумчане. Случайно обратил внимание, что они и то же код в windows и mac os, выполняется по разному. В винде нет такой проблемы, есть только в маке: При обновлении данных в grid (обновляется в query), делаю до и после как и положено: Grid1.BeginUpdate; // обновляю запрос Grid1.EndUpdate; Но первая строчка как бы остается пустой и данные появляются только когда в нее попадает фокус ввода. Повторяю в виндовс хоть 32 хоть 64 все работает корректно! Что предложите? Цитата
0 RoschinSpb Опубликовано 25 января, 2016 Опубликовано 25 января, 2016 ... Что предложите? Отправить жалобу в QC c приложенным демо-проектом, на котором это воспроизводится. Хотя мне думается, что для обновления запроса, не надо BeginUpdate/EndUpdate Цитата
0 Vitaldj Опубликовано 25 января, 2016 Автор Опубликовано 25 января, 2016 ... Что предложите? Отправить жалобу в QC c приложенным демо-проектом, на котором это воспроизводится. Хотя мне думается, что для обновления запроса, не надо BeginUpdate/EndUpdate Beginupdate и endUpdate это у grid. К самому запросу (query) это отношение не имеет. Если я уберу эти Beginupdate и endUpdate, то глюк будет и в windows. Цитата
0 RoschinSpb Опубликовано 25 января, 2016 Опубликовано 25 января, 2016 ... Что предложите? Отправить жалобу в QC c приложенным демо-проектом, на котором это воспроизводится. Хотя мне думается, что для обновления запроса, не надо BeginUpdate/EndUpdate Beginupdate и endUpdate это у grid. К самому запросу (query) это отношение не имеет. Если я уберу эти Beginupdate и endUpdate, то глюк будет и в windows. Тогда, большая просьба все-таки написать жалобу с демкой в QC. И сюда ссылку для ускорения работ. Грид слегка полностью довольно сильно переделывается, вполне возможно, что в будущем релизе ошибка уже отсутствует, но проверить хотелось бы. zairkz 1 Цитата
0 Vitaldj Опубликовано 26 января, 2016 Автор Опубликовано 26 января, 2016 В общем проблема как оказалось есть и в windows! Но давайте по порядку: 1) в Маке при наборе символов в строке поиска торгового названия (допустим Таваник), должно быть две строки (в верхнем гриде), но первая запись не показывается см картинку: Если в нее ткнуть мышкой и передать фокус ввода, то все показывается: Далее, если нажать нижнюю кнопку < то снова: 2) в windows сначала все ок: но как оказалось (сначала не заметил), если набрать, что бы название состояло из двух слов, то глюк на пол слове! Набрать в торговом Аспирин, то международное будет ацетилсалициловая кислота и часть слова видно не будет: Вот вырванные из программы часть исходников, только хочу предупредить, использованы дополнительные компоненты от Devart grid_ошибка.zip Цитата
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 26 января, 2016 Модераторы Опубликовано 26 января, 2016 чисто по скринам кажется ошибка проявляется когда ячейка выделена. уберите выделение и проверьте. или сами вызовите обновление компонента Repaint/Invalidate/ApplyStyleLookup и прочие Цитата
0 RoschinSpb Опубликовано 26 января, 2016 Опубликовано 26 января, 2016 использованы дополнительные компоненты от Devart Вот, спасибо, не было печали. Есть ссылка где можно выкачать? Цитата
0 Vitaldj Опубликовано 26 января, 2016 Автор Опубликовано 26 января, 2016 использованы дополнительные компоненты от Devart Вот, спасибо, не было печали. Есть ссылка где можно выкачать? Извините, даже не подумал( https://www.devart.com/litedac/ Цитата
0 Vitaldj Опубликовано 26 января, 2016 Автор Опубликовано 26 января, 2016 чисто по скринам кажется ошибка проявляется когда ячейка выделена. уберите выделение и проверьте. или сами вызовите обновление компонента Repaint/Invalidate/ApplyStyleLookup и прочие Помогло: Grid2.InvalidateContentSize; !!!!!! А что это за метод? Таких проблем в vcl не было и не знал об этом! Цитата
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 26 января, 2016 Модераторы Опубликовано 26 января, 2016 Судя по названию метода, было вызван пересчёт содержимого и отрисовка Цитата
0 Vitaldj Опубликовано 26 января, 2016 Автор Опубликовано 26 января, 2016 Судя по названию метода, было вызван пересчёт содержимого и отрисовка Ну это я догадался. А зачем так сложно? специально вызывать какой то метод, что бы первая строка не глючила? Глупость какая то! Цитата
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 26 января, 2016 Модераторы Опубликовано 26 января, 2016 Судя по названию метода, было вызван пересчёт содержимого и отрисовка Ну это я догадался. А зачем так сложно? специально вызывать какой то метод, что бы первая строка не глючила? Глупость какая то! так это баг, вы нашли как его обойти Цитата
0 RoschinSpb Опубликовано 26 января, 2016 Опубликовано 26 января, 2016 чисто по скринам кажется ошибка проявляется когда ячейка выделена. уберите выделение и проверьте. или сами вызовите обновление компонента Repaint/Invalidate/ApplyStyleLookup и прочие Помогло: Grid2.InvalidateContentSize; !!!!!! А что это за метод? Таких проблем в vcl не было и не знал об этом! Да в VCL вообще мало было проблем... В общем будет время, попробую Цитата
Вопрос
Vitaldj
Здравствуйте, Форумчане.
Случайно обратил внимание, что они и то же код в windows и mac os, выполняется по разному.
В винде нет такой проблемы, есть только в маке:
При обновлении данных в grid (обновляется в query), делаю до и после как и положено:
Но первая строчка как бы остается пустой и данные появляются только когда в нее попадает фокус ввода. Повторяю в виндовс хоть 32 хоть 64 все работает корректно!
Что предложите?
12 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.