Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отрисовка OLE объектов при запуске приложения / 7 сообщений из 7, страница 1 из 1
10.10.2019, 14:54
    #39874633
webinc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отрисовка OLE объектов при запуске приложения
Доброго времени суток!
Есть форма на которой расположен TabControl, на закладках которого расположено порядка 35+ диаграмм в виде OLE объекта MSGraph.Chart.8. Проблема заключается в том что при запуске формы эти диаграммы очень медленно отрисовываются, моргая (на долю секунды появляется рамка объекта, потом исчезает) сквозь TabControl.
Попытка поиграться со свойствами Visible, Enabled, RowSource, UpdateMethod ни к чему не привели. Да, после загрузки формы диаграммы корректно реагируют (становятся невидимые, нередактируемые, пустые и т.п.) но долгая загрузка формы и моргание остается.
Сталкивался кто-нибудь с такой проблемой и можно ли ее решить?
...
Рейтинг: 0 / 0
10.10.2019, 14:59
    #39874642
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отрисовка OLE объектов при запуске приложения
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Public Sub EchoOff() 
 
Application.Echo False 
 DoCmd.Hourglass True 

'здесь открывайте свою форму
'или используйте аналогично  при событии активации нужной формы


'когда уже всё загрузилось
 Application.Echo True 
 DoCmd.Hourglass False 
 
End Sub
...
Рейтинг: 0 / 0
10.10.2019, 15:14
    #39874663
webinc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отрисовка OLE объектов при запуске приложения
Konst_One,

К сожалению эта отрисовка происходит уже после открытия формы. OnCurrent происходит до начала отрисовки. Т.е. непонятно куда вставлять
Код: vbnet
1.
2.
 Application.Echo True 
 DoCmd.Hourglass False 
...
Рейтинг: 0 / 0
10.10.2019, 15:30
    #39874678
webinc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отрисовка OLE объектов при запуске приложения
Konst_One,

В момент отрисовки все контролы доступны и видно как диаграммы заполняются от последней к первой. В идеале хотелось бы сделать эту инициализацию при первом открытии соответствующей закладки чтобы сократить общее время загрузки формы (при открытии отрисовывать диаграммы только первой звкладки) и избавиться моргания.
...
Рейтинг: 0 / 0
10.10.2019, 15:34
    #39874681
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отрисовка OLE объектов при запуске приложения
возможно разве что попробовать смещать содержимое неактивных закладок за пределы видимости экрана, это проблема ассинхронности работы ole-контейнеров
...
Рейтинг: 0 / 0
10.10.2019, 15:58
    #39874702
webinc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отрисовка OLE объектов при запуске приложения
Konst_One,

Повесил отключение отрисовки на OnUpdate последней диаграммы, а включение на первую + флаг на проверку что бы только один раз срабатывало. От мерцания избавило, но скорость загрузки формы увы такая и осталась.
...
Рейтинг: 0 / 0
10.10.2019, 16:12
    #39874715
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отрисовка OLE объектов при запуске приложения
скорость загрузки и не изменится. поразбирайтесь с самими диаграммами, зачем вам столько на одном экране, может стоит показывать по одной ?
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отрисовка OLE объектов при запуске приложения / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]