senseyesenseye1983 wrote:Подскажите пожалуйста есть ли возможность сделать заставку вначале когда щелкаешь на exe. так как до момента подключения к базам данных примерно сек 10-15 - и эти 10-15 сек можно сделать так чтоб пользователь знал что при нажатии на ярлык запуска программы через 2-3 сек появлялось окно которое информирует о загрузке - когда происходит загрузка формы frmlogin окно приветствия загружается ?
Какую СУБД вы используете? Если SQLite, то подключение к ней и инициализация компонентов произойдет до отображения главной формы приложения (из которой и делают заставку). Если MySQL, то можно отключить автоматическое подключение в БД и тем самым уменьшить время до отображения формы (заставки).
То есть заставку можно добавить и отображать её до подключения к БД MySQL, но после того, как в память загрузится EXE + DLL с картинками + создадутся ВСЕ формы приложения. То есть для начала нужно выяснить, что в вашем проекте происходит за эти 10-15 секунд:
1. Время загрузки exe-файла сократить сложно, разве что утилитой, которая сжимает exe, а затем распаковывает его прямо в памяти. Но даст ли это существенное ускорение во времени загрузки сказать не могу.
2. DLL с картинками (это те картинки, которые вы добавляете при создании проекта) можно исключить, выполняя загрузку изображений из файлов или базы после запуска приложения.
3. С формами сложней, но оптимизация тоже возможна: например, создание форм с помощью программного кода после запуска приложения. Правда, при этом теряется вся прелесть визуального программирования при разработке приложения.
4. При подключении к базе данных происходит открытие датасетов и инициализация всех компонентов Combobox и TableGrid. Если СУБД MySQL, то подключение можно выполнить программно после отображения заставки. C SQLite тоже можно извратиться, если база по умолчанию будет пустая, затем программно подключиться к рабочей базе, а все запросы писать через SQL, но это ад.