![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение параметров окна при запуске приложения
Eugene Tarabanovskyi © (2006-02-17 16:22:00)Интерфейс программы (простой редактор к игре) проектировался при помощи графического пакета Graphics32. Размер окна программы зафиксирован и нет возможности его изменения.
Но на некоторых компьютерах при запуске выдает ошибку "Source rectangle is invalid". При этом размеры окна при запуске примерно на 25% превышают установленные, что, скорее всего, и является причиной.
У меня WinXP SP2, работает без проблем. У "проблемных" компьютеров та же ОС. Создавалась программа в delphi 2005. Но и после компиляции в delphi 7 проблема остается.
Подскажите, где ее искать?
С уважением, Евгений.
Ссылка: http://www.cmukraine.org.ua/forum/attachment.php?attachmentid=2162, 700 кб.
Eugene Tarabanovskyi (2006-02-21 02:54:00) [1]Действительно, совсем забыл о Scaled :) Все работает
Всем спасибо :)
s&r (2006-02-21 00:57:00) [2]Ну что тут скажешь - писать надо на WinAPI чтоб вопросоы не возникало =)
А то, что на твоем компьютере все нормально - это не есть показатель...
Я бы еще поэксперементировал в Win98, WinXP (без SP) и WinXP SP1 - чтоб и в преть вопросы (и глюки не возникали).
Eugene Tarabanovskyi (2006-02-21 00:00:00) [3]
> я бы поспрашивал у проблемных пользователей, изменялись
> ли настройки Windows, касающиеся отображения - темы, крупные
> шрифты и т.д. Это, конечно, ошибку не исправит, но даст
> чувство глубокого морального удовлетворения =)
Пробовал сам все менять, ничего не меняется.
> Еще можно попробовать TForm.Position поменять, там, кажется,
> есть вариант, который не позволяет системе менять размер
> окна.
Спасибо, попробую.
> Что еще... Ну, в OnCreate устанавливать "правильный" размер
> и без меня догадались, я полагаю? :-)
Естественно. Причем, при установке других размеров на моем компьютере все работает нормально.
> Может быть связано с TForm.AutoScale (или Scaled, не помню
> как правильно). Если это свойство установлено в True, то
> форма пытается выглядеть примерно одинаково при разных разрешениях
> экрана, меняя размеры свои, и лежащих на ней компонентов.
>
:) Скорее всего, в этом и причина. Потому как действительно и кнопки, и размер шрифта увеличиваются примерно в одинаковой пропорции. Спасибо. Будем проверять
Хотя на моем компьютере при любых настройках все в порядке.
Жуков Олег (2006-02-20 21:54:00) [4]Может быть связано с TForm.AutoScale (или Scaled, не помню как правильно). Если это свойство установлено в True, то форма пытается выглядеть примерно одинаково при разных разрешениях экрана, меняя размеры свои, и лежащих на ней компонентов.
Virgo_Style (2006-02-20 21:48:00) [5]я бы поспрашивал у проблемных пользователей, изменялись ли настройки Windows, касающиеся отображения - темы, крупные шрифты и т.д. Это, конечно, ошибку не исправит, но даст чувство глубокого морального удовлетворения =)
Еще можно попробовать TForm.Position поменять, там, кажется, есть вариант, который не позволяет системе менять размер окна.
Что еще... Ну, в OnCreate устанавливать "правильный" размер и без меня догадались, я полагаю? :-)
Eugene Tarabanovskyi (2006-02-20 21:08:00) [6]Я думал, довольно доступно объяснил. Перефразирую
Свойство формы BorderStyle - bsSingle, biMaximize установлено в false, в коде к размерам не обращаюсь.
При запуске на некоторых компьютерах размер окна примерно на четверть превышает установленные.
В чем проблема? Может кто-нибудь сталкивался с подобным глюком?
evvcom (2006-02-20 10:02:00) [7]
> если размеры окна зафиксированы и я их не изменяю
Что такое "зафиксированы"? А кто их изменяет? Я? А фиксация размеров не есть изменение? И это изменение уже не попадает под способы "прямой", "любой другой"?
Eugene Tarabanovskyi (2006-02-19 12:05:00) [8]Тогда у меня встречные вопросы.
1. Какого типа может быть ошибка, если размеры окна зафиксированы и я их не изменяю, ни прямым, ни любым другио образом.
2. Почему этот глюк проявлсяется на 2 компьютерах из 500, если в коде ошибка?
Джо (2006-02-18 17:15:00) [9]>
> [4] Eugene Tarabanovskyi (18.02.06 16:52)
> Почему при запуске размер окна значительно больше?
Потому, что ошибка в коде :) Которого никто, кроме автора, вероятно, не видел.
Eugene Tarabanovskyi (2006-02-18 16:52:00) [10]Хорошо, пусть ошибка в коде.
Почему при запуске размер окна значительно больше?
Джо (2006-02-18 15:23:00) [11]> [2] Eugene Tarabanovskyi (18.02.06 12:50)
В твоем коде ошибка. Или в коде Graphics32. Такой ответ устраивает? Думаю, что не устраивает, но другого дать невозможно ввиду условий "информационного голода".
В качестве конструктива: веди отладочное логирование хода выполнения, в проблемной ситуации проси высылать лог-файл для локализации ошибки.
Eugene Tarabanovskyi (2006-02-18 12:50:00) [12]Это сообщение сообщает о том, что неправильно указан Rect. Но в коде ошибок в этом плане нет.
Мне непонятно, почему на некоторых компьютерах программа запускается не в исходных размерах . Отсюда и появляется такая ошибка. К тому же, создается впечатление, что все параметры Rect коверкаются. С чем это может быть связано?
А ссылку я дал, чтобы хоть какое-то понятие было, о чем ресь идет. А также чтоб было ясно, что на подавляющем большинстве компьютеров эта проблема отсутствует.
Джо (2006-02-18 04:28:00) [13]Рекоммендую поискать в исходниках этого самого пакета Graphics32 строку Source rectangle is invalid. А так — ну о чем тут можно гадать по твоему екзешнику? Какой от него прок...