Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Создание Release в VS 2005


Автор: v2v 6.12.2006, 00:46
Пишу программу с использованием Вин АПэИ в ВС 2005, компилирую - проверяю с опцией Debug - всё работает правильно, Но вот появилась проблемма попробовать запустиь непосредственно ехе файл... при запуске ошибка - приложение закрывается. Подсказали , что надо скомпилировать с опцией Release, так и сделал но при запуске одна из Апи функций не возвращает необходимых значений (NetShareEnum() - возращает NULLы  ), хотя перед этим с опцией DEBUG всё работало нормально,а я ничего не менял. В чём может быть проблемма ???
Вот собственно кусочек кода где валится получение правильных значений, что тут не так ??
Код

    PSHARE_INFO_502 BufPtr,p;            
    NET_API_STATUS res;
    LPTSTR   lpszServer=LPTSTR((LPTSTR)chartounichar(HostName,bufSize));
    DWORD er=0,tr=0,resume=0;    
    BufPtr=new SHARE_INFO_502();
    bool kt=true;
    do // begin do
    {
        do
        {
            res = NetShareEnum (lpszServer, 502, (LPBYTE *) &BufPtr, -1, &er, &tr, &resume);  ///  <- -  проблема тут !
         ....

Ещё заметил одну проблемку: есть например переменная типа int , если остановить в каком - то месте программу (с помощью breakpoint) и подвести к переменной мышь выведется её значение, при опции Release значения выводятся не верно. Что я делаю не так, подскажите.

Автор: CaptainFlint 6.12.2006, 01:23
BufPtr - уже указатель, зачем от него ещё и адрес брать?

Автор: v2v 6.12.2006, 02:23
Вызов функции брал из примера, так работает, когда в BufPtr масив записывается.

ЗЫ. Проблемму решил. Тема закрыта.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)