Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.086 c
2-1343559977
Дмитрий
2012-07-29 15:06
2013.03.22
Логика сравнения


15-1329149378
Pit
2012-02-13 20:09
2013.03.22
.NET dll


2-1334063803
AndreyPl
2012-04-10 17:16
2013.03.22
комбинация клавиш для установки TabOrder


15-1337670031
Pcrepair
2012-05-22 11:00
2013.03.22
Правильное использование DLL


15-1332230683
Ega23
2012-03-20 12:04
2013.03.22
Ну и что, что пост? Когда нам это мешало?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский