![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как объявить SetWindowLongPtr? [D7, XP]
IPranker © (2011-02-24 07:07:00)Всем привет!
Объявляю так:
function GetWindowLongPtr(hWnd: HWND; nIndex: Integer): Longint; stdcall; external user32 name 'GetWindowLongPtrA';
function SetWindowLongPtr(hWnd: HWND; nIndex: Integer; dwNewLong: Longint): Longint; stdcall; external user32 name 'SetWindowLongPtrA';
implementation
Пишет: "Точка входа в процедуру... ... не найдена".
Rouse_ (2011-02-27 12:44:00) [1]
> Германн © (27.02.11 03:29) [7]
> Азы работы с "мсдн для дельфи" нигде не описаны. Там всегда
> только либо "русская рулетка", либо полный п....ц. Имхо.
Ну я блин даже не знаю что тут ответить :)
WinAPI не совсем Дельфи как бы :)
Игорь Шевченко (2011-02-27 11:34:00) [2]
> В Win 64 - это SetWindowLong какбЭ не работает.
Программа для Win64 на Delphi 7 не получится. Только для Win32. Поэтому сама тема странна.
IPranker (2011-02-27 07:28:00) [3]
> abb777 © (26.02.11 22:57) [5]
>
> Что-то я не пойму.. а чем не подходит банальное uses Windows?
>
>
В Win 64 - это SetWindowLong какбЭ не работает.
> Rouse_ © (27.02.11 03:16) [6]
Уже разобрался.
> Германн © (27.02.11 03:29) [7]
> Азы работы с "мсдн для дельфи" нигде не описаны.
Really?
Германн (2011-02-27 03:29:00) [4]
> Азы чтоль изучайте в конце то концов, товарищи программисты
Азы работы с "мсдн для дельфи" нигде не описаны. Там всегда только либо "русская рулетка", либо полный п....ц. Имхо.
Rouse_ (2011-02-27 03:16:00) [5]Прежде чем начать работу в АПИ следует изучить документацию по оному, где изречено : Note ... When compiling for 32-bit Windows, SetWindowLongPtr is defined as a call to the SetWindowLong function.
Азы чтоль изучайте в конце то концов, товарищи программисты:
http://msdn.microsoft.com/en-us/library/ms644898%28VS.85%29.aspx
abb777 (2011-02-26 22:57:00) [6]Что-то я не пойму.. а чем не подходит банальное uses Windows?
unit Windows:
...............
function SetWindowLong; external user32 name 'SetWindowLongA';
function SetWindowLongA; external user32 name 'SetWindowLongA';
function SetWindowLongW; external user32 name 'SetWindowLongW';
.................
И нет никаких SetWindowLong PtrA
Вы, видимо, не понимаете, что значит
#define GetWindowLongPtrA GetWindowLongA
IPranker (2011-02-24 17:09:00) [7]Так я не понял, объявление SetWindowLong экспортирует 'SetWindowLongA'.
А SetWindowLongPtr что тоже экспортирует 'SetWindowLongA'?
Одно и то же получается?
brother (2011-02-24 09:46:00) [8]а до конца дочитать? помойму это оно:
32-bit support
Function is defined as follows in WinUser.h.
#ifdef _WIN64
Omission
#else /* _WIN64 */
#define GetWindowLongPtrA GetWindowLongA
#define GetWindowLongPtrW GetWindowLongW
#ifdef UNICODE
#define GetWindowLongPtr GetWindowLongPtrW
#else
#define GetWindowLongPtr GetWindowLongPtrA
#endif // !UNICODE
#define SetWindowLongPtrA SetWindowLongA
#define SetWindowLongPtrW SetWindowLongW
#ifdef UNICODE
#define SetWindowLongPtr SetWindowLongPtrW
#else
#define SetWindowLongPtr SetWindowLongPtrA
#endif // !UNICODE
#endif /* _WIN64 */
IPranker (2011-02-24 07:49:00) [9]См. Unicode and ANSI names
http://msdn.microsoft.com/en-us/library/ms633585%28v=vs.85%29.aspx
Palladin (2011-02-24 07:38:00) [10]и с чего ты взял что есть GetWinfowLongPtrA ?