Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.24;
Скачать: CL | DM;

Вниз

XP Manifest   Найти похожие ветки 

 
Zarmi ©   (2006-09-03 01:09) [0]

Здравствуйте друзья! Я пишу достаточно большую программу, несколько форм. До поры до времени все работало нормально, но после того как добавил XP manifest программа на некоторых операциях начала подвисать, причем иногда навсегда, а на несколько минут. Хотя бывает, что все ок. На разных компах проверял, везде по разному. Но суть в том, что программа должна работать на любом компьютере, а не только на моем. Если убрать XPMan, то все в порядке и летает. Не зависит XPMan или файл Имя_приложения.manifest.
Удалось примерно выяснить где происходят зависания, на границе между
 Potok1:=potok.Create(false); и самим входом в процедуру Procedure potok.Execute; Причем могут быть разные потоки. Если идти последовательно отладчиком F7, то не разу не зависает! Проверял раз 50! Никаких таймеров нету.
Подскажите, что делать? В какую сторону копать. Красоту XP терять категорически не хочется!

PS: было мною замечено, что при добавлении манифеста визуальные операции над компонентами выполняются на несколько секунд дольше, но в данной проблеме никаких сложных операций, тем более над кучей компонентов не выполняется!


 
Ketmar ©   (2006-09-03 01:12) [1]

ищем в сторону багов в своём коде.


 
Юрий Зотов ©   (2006-09-03 01:15) [2]

Подвисание наблюдается только на компах с гипертрейдингом, или нет?


 
Anatoly Podgoretsky ©   (2006-09-03 01:22) [3]

XP manifest это всего лишь заявление для виндоус, он не имеет ни одного байта кода, программа вообще не изменяется.


 
Ketmar ©   (2006-09-03 01:33) [4]

> [3] Anatoly Podgoretsky ©   (03.09.06 01:22)
зато кардинально меняется способ отрисовки контролов.


 
SerJaNT ©   (2006-09-03 02:03) [5]

> зато кардинально меняется способ отрисовки контролов.


это уже Windows отрисосывает а не программа


 
Furyz ©   (2006-09-03 10:34) [6]

может стоит попробовать сторонние компоненты ????
winda может тоже иметь глюки , свои проги пишу без XpMANIFEST"a


 
SerJaNT ©   (2006-09-03 10:47) [7]

Как и было сказано выше, XPManifest никаким образом не может влиять на скорость работы программы и вызывать оишбки. Проблема в чем-то другом, а чем надо смотреть код. Код в студию!


 
Ketmar ©   (2006-09-03 10:53) [8]

> [5] SerJaNT ©   (03.09.06 02:03)
хоть шогготы -- способ отрисовки меняется.


 
Ketmar ©   (2006-09-03 10:53) [9]

> [7] SerJaNT ©   (03.09.06 10:47)
может. у меня, например, "скинованые" контролы рисуются медленней. %-)


 
SerJaNT ©   (2006-09-03 10:59) [10]

> способ отрисовки меняется.


и все же, Windows сама отрисовывает. Если я поставлю какой-нибудь навороченный и тяжелый скин для винды то возможно винда и будет тупить и как следствие программы, но внутри программы ничего же не меняется.


 
SerJaNT ©   (2006-09-03 11:01) [11]

> может. у меня, например, "скинованые" контролы рисуются
> медленней. %-)


Ну это другое. Тут уже дейтсвительно сама программа отрисовывает, а с XP Manifest программа "говорит" винде что отрисовывать надо в стиле XP (и то, только в том случае, если в винде выбран соответствующий стиль).


 
Ketmar ©   (2006-09-03 11:18) [12]

> [10] SerJaNT ©   (03.09.06 10:59)
но способ меняется. а кто именно отрисовывает -- совершенно не важно. важно, что работает другой код.

> [11] SerJaNT ©   (03.09.06 11:01)
я в состоянии понять различия между скинами, которые я делаю вручную и "темами" WinXP. также я в состоянии прочесть сабж. более того -- я знаю, зачем нужен хыр-манифест (удивительно, правда?). посему при минимальной внимательности можно понять, что слово "скинованые" я употребил по отношению к хыр-темам, а не самописным skin engines.


 
Gero ©   (2006-09-03 12:18) [13]

> [7] SerJaNT ©   (03.09.06 10:47)

Еще и как может. Ошибки могут содеражаться, например, в VCL, код которого может неадекватно работать с новыми контролами.


 
Furyz ©   (2006-09-03 15:21) [14]

я тут немного подумал:
Возможно конфликт возникает из-за НЕ стандартных контролов : URLlabel и т.д. какието там супер-мемо и супер-дбгриды , или например из-за движущийся картинки или анимированного гифа , или ты форму создаеш динамически


 
Anatoly Podgoretsky ©   (2006-09-03 15:25) [15]

Доказательством является, что рядом с уже скомпированой программой можно положить файл program.exe.manifest и программа сразу станет отображать виндоус компоненты по новому. Не требуется для этого бросать XPMan на форму.


 
SerJaNT ©   (2006-09-03 15:28) [16]

> Доказательством является, что рядом с уже скомпированой
> программой можно положить файл program.exe.manifest и программа
> сразу станет отображать виндоус компоненты по новому. Не
> требуется для этого бросать XPMan на форму.


При этом возможен ли такой вариант что программа станет тормозить, а то и вообще вылетать с ошибкой?


 
Anatoly Podgoretsky ©   (2006-09-03 15:41) [17]

В нашем мире все возможно.


 
tesseract ©   (2006-09-03 15:56) [18]

> [13] Gero ©   (03.09.06 12:18)


Такой прикол встречался не раз. Особенно если хватило дури использовать сторонние элементы управления.


> [4] Ketmar ©   (03.09.06 01:33)


Точнее используеться 6-я версия Comctrl.dll вместо 4. До D7 например VCL корректно отображались очень редко (личный опыт).


> [15] Anatoly Podgoretsky ©   (03.09.06 15:25)


Запускаеться ComCtrl.dll новой версии. Например, 1с, при таком файле, нормально не отображает половину форм.


 
Anatoly Podgoretsky ©   (2006-09-03 15:59) [19]

Так это проблема не Виндоус, в 1С


 
tesseract ©   (2006-09-03 16:01) [20]

> [19] Anatoly Podgoretsky ©   (03.09.06 15:59)


А где я обвиняю Windows ????

Я просто говорю что системная библиотека отличаеться и манифесты куда угодно бросать не рекомендуеться.


 
Furyz ©   (2006-09-03 16:05) [21]

мда... ситуация плохая...

> Я просто говорю что системная библиотека отличаеться и манифесты
> куда угодно бросать не рекомендуеться.

Универсальноть??зачем??
убери манифесты и поставь скины и все...зачем себя мучать???


 
tesseract ©   (2006-09-03 16:07) [22]

> Универсальноть??зачем??
> убери манифесты и поставь скины и все...зачем себя мучать?
> ??


УниверсальностьЮ, затем, что-бы работало!!!!!!!!!!!!!!!!!!.

У меня сфера деятельности манифестами  и скинами вообще баловаться не позволяет :-)


 
kaif ©   (2006-09-03 16:09) [23]

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


 
tesseract ©   (2006-09-03 16:17) [24]

> [23] kaif ©   (03.09.06 16:09)


Верно, просто уже вьелась легендарная synchronize. Без него хоть с манифестами, хоть без, программа валиться будет.


 
Furyz ©   (2006-09-03 16:17) [25]

> У меня сфера деятельности манифестами  и скинами вообще
> баловаться не позволяет :-)

интерсно что это за сфера?


 
tesseract ©   (2006-09-03 16:19) [26]

> [25] Furyz ©   (03.09.06 16:17)


Автоматизация.


 
vrem   (2006-09-03 16:21) [27]

[15] Anatoly Podgoretsky ©   (03.09.06 15:25)
Создал рядом со своей программой такой файл, теперь программа не запускается, пишет -
"Том для открытого файла был изменён извне, поэтому работа с этим файлом не возможна."


 
tesseract ©   (2006-09-03 16:43) [28]

> [27] vrem   (03.09.06 16:21)


Файл надёюсь типа этого содержание имеет :


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
 version="1.0.0.0"
 processorArchitecture="X86"
 name="random interesting information"
 type="win32"
/>
<description>Sklad control program.</description>
<dependency>
 <dependentAssembly>
  <assemblyIdentity
   type="win32"
   name="Microsoft.Windows.Common-Controls"
   version="6.0.0.0"
   processorArchitecture="X86"
   publicKeyToken="6595b64144ccf1df"
   language="*"
  />
 </dependentAssembly>
</dependency>
</assembly>


 
vrem   (2006-09-03 18:07) [29]

[28] tesseract ©   (03.09.06 16:43)
Пустой я думал, раз ни строчки кода..)
С таким работает.


 
Furyz ©   (2006-09-03 20:24) [30]

а вообще реально ли заменить

> name="Microsoft.Windows.Common-Controls"

библиотеки на чтонибудь не виндовое?


 
Ketmar ©   (2006-09-03 20:26) [31]

> [30] Furyz ©   (03.09.06 20:24)
запросто. возьми библиотеки от SPARC и замени. работать, правда, не будет. но заменить -- реально.


 
Grom PE ©   (2006-09-03 21:14) [32]

Манифест не оптимизирован! %) Минимальная его версия:

<?xml version="1.0"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0"><dependency><dependentAssembly><assemblyIdentity
type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0"
processorArchitecture="*" publicKeyToken="6595b64144ccf1df"/>
</dependentAssembly></dependency></assembly>


 
Furyz ©   (2006-09-03 23:35) [33]

> запросто. возьми библиотеки от SPARC и замени. работать,
> правда, не будет. но заменить -- реально.

и зачем оно тогда надо ?
По-приколу? :)))


 
Gero ©   (2006-09-03 23:36) [34]

> [32] Grom PE ©   (03.09.06 21:14)

И в чем проявляется оптимизированность?


 
Ketmar ©   (2006-09-03 23:40) [35]

> [33] Furyz ©   (03.09.06 23:35)
кто ж его знает, зачем. вопрос-то не я задавал.


 
tesseract ©   (2006-09-04 08:18) [36]

> [31] Ketmar ©   (03.09.06 20:26)


Винды под SPARC никогда не было.

Есть Mono-среда вроде, но манифест манифест тут по барабану.


 
Grom PE ©   (2006-09-04 14:55) [37]

> Gero ©   (03.09.06 23:36) [34]

Как раз в размере самого манифеста.


 
Gero ©   (2006-09-04 15:19) [38]

> [37] Grom PE ©   (04.09.06 14:55)

Экономия места на винчестере?


 
Grom PE ©   (2006-09-04 15:26) [39]

> Gero ©   (04.09.06 15:19) [38]

Да нет, ну, смысл подобной оптимизации приближен к смыслу миниатюризации, то есть, для красоты =)


 
Gero ©   (2006-09-04 15:49) [40]

> [39] Grom PE ©   (04.09.06 15:26)

В [28] выглядит гораздо красивее.



Страницы: 1 2 вся ветка

Текущий архив: 2006.09.24;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.03 c
15-1157105236
Elen
2006-09-01 14:07
2006.09.24
Не использовать ALLUsers


2-1157624743
VitV
2006-09-07 14:25
2006.09.24
Построение диаграммы


8-1141312872
MAXLMN
2006-03-02 18:21
2006.09.24
Flash(swf) to Bitmap


2-1157437863
worldmen
2006-09-05 10:31
2006.09.24
Программное изменение языков.


15-1157398612
Евгений Р.
2006-09-04 23:36
2006.09.24
Delphi и WinRar