Russian Qt Forum
Июнь 15, 2024, 21:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: WINAPI, паника при сборке "Релиза"  (Прочитано 2206 раз)
QuAzI
Гость
« : Январь 10, 2011, 10:39 »

Нужно мониторить уровень заряда батареи ноутбука. Собрал такую качель, в хеадере
Код:
#include <wtypes.h>
typedef void (*GetSystemPowerStatusPrototype)(LPSYSTEM_POWER_STATUS);

class MainWindow : public QMainWindow
{
...
    GetSystemPowerStatusPrototype GetSystemPowerStatus;
    LPSYSTEM_POWER_STATUS ps;
...
в исходнике
Код:
В инициализации класса
    QLibrary lib("KERNEL32");
    GetSystemPowerStatus = (GetSystemPowerStatusPrototype) lib.resolve("GetSystemPowerStatus");

в вызываемой процедуре
   GetSystemPowerStatus(ps);
В сборке Debug всё работает, собрал Release и опаньки, падает даже не прорисовавшись. Натыкал выводов qDebug(), отловил что аккурат после вызова GetSystemPowerStatus(ps) падает.
Как его правильно объявлять тогда?
Записан
SASA
Гость
« Ответ #1 : Январь 10, 2011, 14:37 »

Может лучше так
Код:
SYSTEM_POWER_STATUS ps;
GetSystemPowerStatus(&ps);
Записан
QuAzI
Гость
« Ответ #2 : Январь 11, 2011, 21:32 »

Закончилась проблема после того как собрал весь код прямо в функцию (хотя каждый раз подтягивать dll помоему не совсем красиво, но зато работает), кроме объявления ps. ps всё так же в хеадере объявлен. Если совать его в функцию, тоже глючит.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.038 секунд. Запросов: 17.