Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.06.05;
Скачать: CL | DM;

Вниз

Как объявить SetWindowLongPtr?   Найти похожие ветки 

 
IPranker ©   (2011-02-24 07:07) [0]

Всем привет!

Объявляю так:


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


Пишет: "Точка входа в процедуру... ... не найдена".


 
Palladin ©   (2011-02-24 07:38) [1]

и с чего ты взял что есть GetWinfowLongPtrA ?


 
IPranker ©   (2011-02-24 07:49) [2]

См. Unicode and ANSI names
http://msdn.microsoft.com/en-us/library/ms633585%28v=vs.85%29.aspx


 
brother ©   (2011-02-24 09:46) [3]

а до конца дочитать? помойму это оно:

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 17:09) [4]

Так я не понял, объявление SetWindowLong экспортирует "SetWindowLongA".
А SetWindowLongPtr что тоже экспортирует "SetWindowLongA"?
Одно и то же получается?


 
abb777 ©   (2011-02-26 22:57) [5]

Что-то я не пойму.. а чем не подходит банальное uses Windows?

unit Windows:
...............
function SetWindowLong; external user32 name "SetWindowLongA";
function SetWindowLongA; external user32 name "SetWindowLongA";
function SetWindowLongW; external user32 name "SetWindowLongW";
.................

И нет никаких SetWindowLongPtrA

Вы, видимо, не понимаете, что значит
#define GetWindowLongPtrA   GetWindowLongA


 
Rouse_ ©   (2011-02-27 03:16) [6]

Прежде чем начать работу в АПИ следует изучить документацию по оному, где изречено : 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


 
Германн ©   (2011-02-27 03:29) [7]


> Азы чтоль изучайте в конце то концов, товарищи программисты

Азы работы с "мсдн для дельфи" нигде не описаны. Там всегда только либо "русская рулетка", либо полный п....ц. Имхо.


 
IPranker ©   (2011-02-27 07:28) [8]


>  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 11:34) [9]


> В Win 64 - это SetWindowLong какбЭ не работает.


Программа для Win64 на Delphi 7 не получится. Только для Win32. Поэтому сама тема странна.


 
Rouse_ ©   (2011-02-27 12:44) [10]


> Германн ©   (27.02.11 03:29) [7]
> Азы работы с "мсдн для дельфи" нигде не описаны. Там всегда
> только либо "русская рулетка", либо полный п....ц. Имхо.

Ну я блин даже не знаю что тут ответить :)
WinAPI не совсем Дельфи как бы :)



Страницы: 1 вся ветка

Текущий архив: 2011.06.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.009 c
15-1297838969
DiamondShark
2011-02-16 09:49
2011.06.05
Тулзы для Оракла


2-1298357530
Гость
2011-02-22 09:52
2011.06.05
Компонент WebBrowser


2-1298520472
IPranker
2011-02-24 07:07
2011.06.05
Как объявить SetWindowLongPtr?


1-1255806622
minomorf
2009-10-17 23:10
2011.06.05
Как в TSynEdit сделать подсветку строки (как при ошибке)


1-1256587984
fuzzy
2009-10-26 23:13
2011.06.05
Не срабатывают breakpoints при отладке ActiveXForm