Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SVISTAPLYASKA - разработка приложения для Vista в Delphi 7 [D6, D7, Win95/98, WinXP]


Страницы:   1 2 3

TIF ©   (2007-11-12 12:33:00) 

В Vista открыл свой проект и ахнул: у меня на форме было много картинок, располагающихся рядом. Так вот, они были пригнаны плотно друг к другу, например размер их был 100х50. В Vista сами Image расширились, стали где-то 120х70, естественно картинка болтается по центру этой области и не касается соседних.

И так случилось со всеми Image-ами. В XP всё нормально.

Изменения коснулись и других компонентов - использую красивые графические компоненты, так у них тоже поехали ширина, высота...

Самый прикол в том, что когда всё подогнал, скомпилил в Vitsa и открыл потом exe-шник в XP, то ... всё сузилось!

Неужели придётся как-то программировать задание размеров компонентов в зависимости от типа операционки? Абсурд! Либо создавать два идентичных приложения, различающихся только размерами компонентов, что не лучше.

Ничего не понимаю! Может в Vista какие-то коэффициенты пересчёта размеров? Или как-то влияет разрешение, масштабирование экрана? Кто сталкивался с чем-либо подобным или знает, в чём тут может быть дело? Плз, помогите.

PS: просьба советов типа: "Зачем тебе виста, пиши в ХР и работай в ХР" - не давать.

Sorry за возможные ошибки в тексте


TIF   (2007-12-05 17:00:00) [1]


> То есть, D7 на висту в принципе нельзя установить ? :)


как нельзя? а каким макаром у меня поставилось? :-))))


> , а я пожалуй воспоьзуюсь RAD 2007.


Блин, нашлась бы добрая душа, выслала бы диск с РАДой - тоже бы в ней сидел!


Kolan   (2007-12-05 11:50:00) [2]

Уговорили, делайте программы для висты на D7, а я пожалуй воспоьзуюсь RAD 2007.


Игорь Шевченко   (2007-12-05 11:24:00) [3]

Kolan ©   (05.12.07 11:19) [38]

Флудить завязываем. То, что не управишься - это гарантировано, почитай Таненбаума, он доходчиво объясняет, почему не управишься ни за сто ни за тысячу


Kolan   (2007-12-05 11:19:00) [4]

> Можешь сразу заплатить неустойку

За что это? За сто с небольшимуправлюсь, при соотв финансировании.


Игорь Шевченко   (2007-12-05 10:57:00) [5]

Kolan ©   (05.12.07 10:30) [36]


> Предлогаю заключить контракт.


Можешь сразу заплатить неустойку


> Мое мнение основана на том, что я прочитал про RAD 2007


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


Kolan   (2007-12-05 10:30:00) [6]

> Во-первых, не напишешь.

Предлогаю заключить контракт. + К браузеру берусь обучить говорить осла :).

Гугль — рулез фарева.

Честно скажите, пытались писать? Я нет. Мое мнение основана на том, что я прочитал про RAD 2007


Игорь Шевченко   (2007-12-05 10:11:00) [7]

Kolan ©   (04.12.07 19:18) [34]

Во-первых, не напишешь.
Во-вторых:

"1. Открываем каталог "....Borland\Delphi7\"
2. Нажимаем правой клав. мыши на каталоге Bin и выбираем "Свойства"
3. Открываем вкладку "Безопасность"
4. Нажимаем "изменить"
5. Выбираем нужного пользователя и  напротив "Изменения" ставим галочку в колонке разрешить

Можно так же проделать для Borland\Delphi7\Projects."

из гугля.

Гугль - рулез фарева.


Kolan   (2007-12-04 19:18:00) [8]

> То есть, D7 на висту в принципе нельзя установить ? :)

В принципе можно сделать все. За сто с небольшим лет я вам и ни ассемблере браузер на висту напишу в блокноте.


Игорь Шевченко   (2007-12-04 17:53:00) [9]

Kolan ©   (04.12.07 17:36) [31]


>  См. CodeGear RAD 2007 список изменений, странно что вы
> Игорь придрались… Не зря же борланд выпустил студию где
> в основном сделана поддержка висты


Кушать хочется. Это как раз не аргумент.


> Для начала, да. Как минимум будет ругаться виста.


То есть, D7 на висту в принципе нельзя установить ? :)


Dennis I. Komarov   (2007-12-04 17:41:00) [10]

Хочу Turbo D 2007!!!


Kolan   (2007-12-04 17:36:00) [11]

> установка Delphi 7 на Vista,

Для начала, да. Как минимум будет ругаться виста.


> неработоспособность приложений

Так как в формах нет новых свойств, которые могут иметь окна в висет, то соотв…

ЗЫ
 См. CodeGear RAD 2007 список изменений, странно что вы Игорь придрались… Не зря же борланд выпустил студию где в основном сделана поддержка висты…


TIF   (2007-12-04 15:42:00) [12]

возможно. но, например, не поддерживаются новые диалоги висты.


Игорь Шевченко   (2007-12-04 15:38:00) [13]

Kolan ©   (04.12.07 15:17) [28]

Нет, я не понял, давай подробности. Какой именно эатп невозможен - установка Delphi 7 на Vista, неработоспособность приложений, созданных на delphi 7 под Vista или что-то еще ?


Kolan   (2007-12-04 15:17:00) [14]

> Точно ?

Нет, ну нормальная, быстрая. Если конечно самому адаптировать VCl итд… ну вы же поняли меня…


Игорь Шевченко   (2007-12-04 15:12:00) [15]


> Невозможна.


Точно ?


Kolan   (2007-12-04 15:10:00) [16]

разработка приложения для Vista в Delphi 7
…
Невозможна. Возмите RAD Studio 2007


TIF   (2007-12-04 15:04:00) [17]

спасибо! то что надо, конечно, лучше бы модернизированный вариант, но пока хватит :-)


Dracula   (2007-12-04 12:15:00) [18]

Вот эта функция точно работает, а про DPI забывать нельзя (очень многие люди пользуются нестандартным), тем более когда на форме куча картинок

function GetScreenDPI: Integer;
var
 hdcScreen: HDC;
 iDPI: Integer;
begin
 hdcScreen := GetDC(0);
 iDPI := -1; // assume failure
 if (hdcScreen > 0) then
 begin
   iDPI := GetDeviceCaps(hdcScreen, LOGPIXELSX);
   ReleaseDC(0, hdcScreen);
 end;
 Result := iDPI;
end;


Далее в обработчике FormCanResize


procedure TMainForm.FormCanResize(Sender: TObject; var NewWidth,
 NewHeight: Integer; var Resize: Boolean);
var
 Mul: Real;
begin
 Mul := GetScreenDPI / 96;
 if NewHeight <= (480 * Mul) then NewHeight := Round(480 * Mul);
 if NewWidth  <= (710 * Mul) then NewWidth  := Round(660 * Mul);
 Resize := True;
end;


работает как в висте, так и в хп.
а вот с бордюром окон, такая проблема тоже есть, но решение пока не нашол, да я в принципе и не искал :).


TIF   (2007-12-04 09:28:00) [19]

Ё-МОЁ! ( sorry, sorry, sorry :-)   )

Оказывается дело в разрешении экрана! В висте ведь есть средство масштабирования экрана! Вот оно и было включено (разрешение 120 dpi, вместо 96 обычных)!

И как никто не мог догадаться?

Вот теперь встал вопрос корректного отображения на экранах с различным dpi. Испробовал все способы, которые смог найти - не работает.

Кто чем может помочь?


TIF   (2007-11-29 15:39:00) [20]


> тут предлагают 205 делыу. А у неё тоже ведь глюки пойдут?
>  а?


блин, что-то по китайски напечатал:

тут предлагают 2005 делфу. А у неё тоже ведь глюки будут?


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо