Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.10.2014, 21:13
Аватар для Sergios
Sergios Sergios вне форума
Прохожий
 
Регистрация: 07.10.2014
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
Восклицание Callback функции

Приветствую!
Столкнулся с тем, что понадобилось использовать callback functions.
В исходниках (заголовочные файлы) функции определены как:
Код:
WINBASEAPI
BOOL
WINAPI
EnumFuncA(
    _In_ A_ENUMPROC lpEnumProc,
    _In_ DWORD                   dwFlags,
    _In_ LONG_PTR                lParam);

WINBASEAPI
BOOL
WINAPI
EnumFuncB(
    _In_ B_ENUMPROC lpEnumProc,
    _In_ DWORD            dwFlags);
Далее нашел как определены A_ENUMPROC и B_ENUMPROC:
Код:
#ifdef STRICT
typedef BOOL (CALLBACK* A_ENUMPROC)(LPSTR, LPSTR, LPSTR, DWORD, LONG_PTR);
typedef BOOL (CALLBACK* B_ENUMPROC)(LPSTR);
#else
typedef FARPROC A_ENUMPROC;
typedef FARPROC B_ENUMPROC;
#endif
Естественно возникает сразу вопрос "Как перевести на "русский" (т.е. на Delphi) вторую часть (там где определены типы (typedef)). Во-вторых, как после этого использовать callback функции. Я об этой разновидности функций имею весьма общее представление.
Гугл мне тут не помог.
Благодарю заранее за помощь.
UPD (нашел и сами функции):
Код:
BOOL CALLBACK EnumProc_A(
  _In_  LPSTR lpArg0,
  _In_  LPSTR lpArg1,
  _In_  LPSTR lpArg2,
  _In_  DWORD dwFlags,
  _In_  LONG_PTR lParam
);

BOOL CALLBACK EnumProc_B(
  _In_  LPSTR lpArg
);
Стало вообще непонятно, что кого вызывает...

Последний раз редактировалось Sergios, 07.10.2014 в 22:15.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:34.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter