Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизСовместимость приложения! Найти похожие ветки
← →
Eeuwige Rouw (2012-03-08 08:06) [0]Здравствуйте!
Я использую Дельфи 7 (ОС Виста Ультимейт)...
Приложения, написанные мною, хорошо работают и на ХР, и на Висте
( на ранних версиях не проверялись ), но вот при запуске на Винде 7,
появляется сообщение о том, что программа (или может ее внешний вид),
не совместимо с темой рабочего стола Винды 7... и тут либо приложение
в режиме совместимости запускать, либо, как делает это Виста, система
сама отключает тему рабочего стола, на время работы программы...
Подскажите, есть ли способ этого избежать?
И, если есть, подскажите как...
Заранее благодарен за ответы!
← →
sniknik © (2012-03-08 10:30) [1]если "не совместимо с темой" то значит ты манифест не используешь, в котором как раз указано, одним из, использовать темы.
p.s. наверное "классику" убрали в 7ке. не? (не использую, не могу посмотреть. но гады если так, единственная нормальная тема была)
← →
sniknik © (2012-03-08 10:36) [2]вообще для полной "совместимости" d7 и висты/..., это не единственное, что нужно сделать. поищи статьи типа "создание приложений для vista в delphi". (и не говори что у тебя проблема в 7ке, а не висте. не только, просто она более требовательна, виста часть "прощает")
← →
megavoid © (2012-03-08 11:31) [3]Да и семёрка тоже старается очень многое "прощать" ради обратной совместимости, пишем файл в program files, а на самом деле он пишется в appdata, пишем в %windir% - винда тоже подменяет запрещенный для записи каталог на appdaty и т.д.
← →
sniknik © (2012-03-08 12:23) [4]> пишем файл в program files, а на самом деле он пишется в appdata, пишем в %windir% - винда тоже подменяет запрещенный для записи каталог на appdaty и т.д.
вот это не прощение, это западло... особенно когда проблему решают по телефону, и на "том конце" не то, что про пути, но даже что за такое ось, винда, не в курсе.
честная ошибка, и пусть сама программа решает, гораздо лучше. ИМХО.
← →
sniknik © (2012-03-08 12:28) [5]> ради обратной совместимости,
берем старую программу, ну которая настройки рядим с exe держит... что получается? сохранение настроек - запись? записали в appdata, а чтение? не запись? читается ини который с установкой шел...
или там это предусмотрено? и все перенаправляется?
← →
Германн © (2012-03-08 14:22) [6]
> megavoid © (08.03.12 11:31) [3]
>
> Да и семёрка тоже старается очень многое "прощать" ради
> обратной совместимости, пишем файл в program files, а на
> самом деле он пишется в appdata
Это как это? program files не подменяется виртуальной папкой. В program files просто запись запрещена.
> sniknik © (08.03.12 12:28) [5]
>
> берем старую программу, ну которая настройки рядим с exe
> держит... что получается?
Проще всего эту старую программу поместить в "Мои документы".
P.S.
Проще совершенно не означает "правильнее".
← →
sniknik © (2012-03-08 15:02) [7]> Проще всего эту старую программу поместить в "Мои документы".
вообще то это пример а не реальная ситуация...
хотя, реально такое тоже есть, наловчились, ставят в отдельную папку, типа есть "program files", а добавляют "programs" и ставят туда.
очень уж неудобен "правильный" подход, с запретом держать все в одном месте...
не, ну не хотите чтобы программа в свой каталог писала (безопасность и т.д.), ну выделите ей еще стандартно подкаталог "дата" например(пусть даже это будет ссылка на физически другое место, зато очевидная), тут же, и разрешите в него запись... но нафига "размазывать" прогу по всему дисковому пространству? хрен объяснишь же где искать если что...
← →
megavoid © (2012-03-08 15:07) [8][4] да, система и на чтение тоже подсовывает соответствующий скорректированный путь из appdata, а не откуда там программа хотела бы
[5] такая обломается, каюсь, да [6], program files не подменяется
← →
Anatoly Podgoretsky © (2012-03-08 17:13) [9]
> > пишем файл в program files, а на самом деле он пишется
> в appdata, пишем в %windir% - винда тоже подменяет запрещенный
> для записи каталог на appdaty и т.д.
На VirtualStore в C:\Users\user\AppData\Local\куча подпапок
← →
Anatoly Podgoretsky © (2012-03-08 17:20) [10]На VirtualStore в C:\Users\user\AppData\Local\VirtualStore\куча подпапок
Таких как Program Files и Windows, то есть защищает не только Program Files
← →
CRLF (2012-03-09 00:54) [11]
> или там это предусмотрено? и все перенаправляется?
Всё там предусмотрено...
← →
Германн © (2012-03-09 01:40) [12]
> Всё там предусмотрено...
Кроме всё ещё не совсем мёртвого BDE :)
← →
Eraser © (2012-03-09 04:32) [13]> [0] Eeuwige Rouw (08.03.12 08:06)
нужно переписать то, что не совместимо в Aero. просто так такое предупреждение не появляется.
← →
sniknik © (2012-03-09 11:40) [14]> Всё там предусмотрено...
при старте в пути программы...
if FileExists("....mdb" ) then CreateOrReplaceMdb("....mdb");
не будет пере создавать? или поиcк перенаправлен?
и тогда
if FileExists("....dll" ) then LoadDll("....dll");
не будет подключать? даже если она в папке присутствует?
т.е. взаимоисключающие конструкции (не такие уж и редкие) получаются. как оно там предусмотрено? для поиска dll сделано исключение?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.06 c