Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для romeo91

Ветеран


Автор проектов


Сообщения: 733
Благодарности: 240

Профиль | Сайт | Отправить PM | Цитировать


Цитата Комсомолец:
romeo91, на предыдущих реже, но было. Может список аддонов дать? отчего вообще моежт такое зависить? »
Похоже проблемку отыскал. Я чаще всего программу проверю в IDE среде. И там все работает хорошо. А тут у самого такое же случилось и стал ковырять. Есть у меня несколько проверок в основном загрузочном модуле при котором программа показывает сообщение, а после нажатия и завершает свою работу. Дак вот в оладке все ОК. А в реале просто мигают часы и ничего не происходит.
У меня это получилось если все каталоги прописанные в настройках с пакетами драйверов не существуют. Так что это может быть ответ на твой вопрос. Если конечно не ты сам пробовал запускать программу.
Есть еще одна проверка - несуществование каталога %Windir%\temp
И все эти проверки идут до инициализации манифеста. И сообщения не показываются. Так что думаю в следующих версиях что-то поправлю

[Позже] Да подтвердил свои мысли.
Перенес инициализация Манифеста в самое начало и все стало ок. Но скажется ли это на стабильности программы не знаю. Я наоборот с некоторых пор начал оттягивать этот процесс, так как у некоторых были проблемы вида - при запуске программы слышу звук как при ошибке, но ничего не происходит.

Следовательно вопрос, к тем кто пишет программы - когда целесообразно вызывать инициализацию манифеста
У себя я вызываю инициализацию вот так.
читать дальше »
Код: Выделить весь код
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

-------
Всё не так хорошо как кажется, но и не так плохо как могло бы быть.
--------------
My Site - My Forum - Donate Project
Link to DriverPack's


Последний раз редактировалось romeo91, 23-06-2010 в 08:01.

Это сообщение посчитали полезным следующие участники:

Отправлено: 07:28, 23-06-2010 | #1032