Цитата Комсомолец:
romeo91, на предыдущих реже, но было. Может список аддонов дать? отчего вообще моежт такое зависить? »
|
Похоже проблемку отыскал. Я чаще всего программу проверю в IDE среде. И там все работает хорошо. А тут у самого такое же случилось и стал ковырять. Есть у меня несколько проверок в основном загрузочном модуле при котором программа показывает сообщение, а после нажатия и завершает свою работу. Дак вот в оладке все ОК. А в реале просто мигают часы и ничего не происходит.
У меня это получилось если все каталоги прописанные в настройках с пакетами драйверов не существуют. Так что это может быть ответ на твой вопрос. Если конечно не ты сам пробовал запускать программу.
Есть еще одна проверка - несуществование каталога %Windir%\temp
И все эти проверки идут до инициализации манифеста. И сообщения не показываются. Так что думаю в следующих версиях что-то поправлю
[Позже] Да подтвердил свои мысли.
Перенес инициализация Манифеста в самое начало и все стало ок. Но скажется ли это на стабильности программы не знаю. Я наоборот с некоторых пор начал оттягивать этот процесс, так как у некоторых были проблемы вида - при запуске программы слышу звук как при ошибке, но ничего не происходит.
Следовательно вопрос, к тем кто пишет программы - когда целесообразно вызывать инициализацию манифеста
У себя я вызываю инициализацию вот так.
читать дальше »
Код:
![Выделить весь код](images/misc/selectcode.png)
Option Explicit
Private Type tagInitCommonControlsEx
lngSize As Long
lngICC As Long
End Type
Private Const ICC_USEREX_CLASSES As Long = &H200
Public m_hMod As Long
Private Declare Function InitCommonControlsEx Lib "Comctl32.dll" (iccex As tagInitCommonControlsEx) As Boolean
Public Declare Function IsAppThemed Lib "uxtheme.dll" () As Long
Public Function InitXPStyle() As Boolean
Dim iccex As tagInitCommonControlsEx
On Error Resume Next
With iccex
.lngSize = LenB(iccex)
.lngICC = ICC_USEREX_CLASSES
End With
m_hMod = LoadLibrary("shell32.dll")
InitXPStyle = InitCommonControlsEx(iccex)
On Error GoTo 0
End Function
' Соответственно в функции main прописываю вызов InitXPStyle