PDA

Просмотр полной версии : 'GetWindowLongPtr' : undeclared identifier



toshas
02.07.2004, 16:48
Проблемма в следующем: Пытаюсь скомпилировать примеры из книги Джеффри Рихтера Windows для проффесионалов
в MSVC 6.0 и получаю ошибки
Compiling...
ErrorShow.cpp
You are not using the latest Platform SDK header/library
files. This may prevent the project from building correctly.
d:\program files\programming applications\cmnhdr.h(213) : error C2065: 'GetWindowLongPtr' : undeclared identifier
d:\program files\programming applications\cmnhdr.h(213) : error C2065: 'GWLP_HINSTANCE' : undeclared identifier
d:\program files\programming applications\01-errorshow\errorshow.cpp(83) : error C2065: 'PCTSTR' : undeclared identifier
d:\program files\programming applications\01-errorshow\errorshow.cpp(83) : error C2146: syntax error : missing ')' before identifier 'LocalLock'
d:\program files\programming applications\01-errorshow\errorshow.cpp(83) : error C2059: syntax error : ')'
d:\program files\programming applications\01-errorshow\errorshow.cpp(125) : error C2664: 'DialogBoxParamA' : cannot convert parameter 4 from 'long (struct HWND__ *,unsigned int,unsigned int,long)' to 'int (__stdcall *)(struct HWND__ *,unsigned int,u
nsigned int,long)'
None of the functions with this name in scope match the target type
Error executing cl.exe.
01 ErrorShow.exe - 6 error(s), 0 warning(s)

что делать, помогите пожалуйста

DeeJayC
02.07.2004, 17:13
you are not using the latest Platform SDK header/library.
Какая версия SDK? ( Видимо, с книжкой идёт )

toshas
02.07.2004, 19:12
нет с книгой ничего нет, а как определить версию sdk?
может поставить VC7.0?

Stealth Legion
23.07.2007, 20:14
Проблемма в следующем: Пытаюсь скомпилировать примеры из книги Джеффри Рихтера Windows для проффесионалов
в MSVC 6.0 и получаю ошибки
.....
что делать, помогите пожалуйста

Что за PCTSTR? Что-т я такого типа данных не встречал...
Последняя ошибка - не совпадает тип данны указателя функции

необходимо импользовать:

#define WINVER 0x0501
#define _WIN32
#define _WIN32_WINNT 0x0501
#include "windows.h"

P.S. Купи себе MS Visual Studio 2005-ую (8 версия - она куда круче...меньше ошибок, дополнения и обновления : я вот пишу и не эалуюсь...);

Romeo
23.07.2007, 20:55
Вообще-то типа PCTSTR действительно не существует, есть тип LPCTSTR.

BBB
24.07.2007, 09:33
Про функцию GetWindowLongPtr в MSDN в частности читаем:

Requirements:
Windows NT/2000/XP: Included in Windows NT 3.1 and later.
Windows 95/98/Me: Included in Windows 95 and later.
Header: Declared in Winuser.h; include Windows.h.
Library: Use User32.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT/2000/XP.

Т.е. функция имеется даже в Win95. Так что в данном случае проблема явно не в "использовании устаревшей среды программирования".