Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт мар 29, 2024 03:25

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - Вызов callback слов в SPF
Автор Сообщение
  Заголовок сообщения:   Ответить с цитатой
WingLion писал(а):
т.е. программа в некий момент говорит - "эй, винда, скажи мне в это ухо, когда юзер клавишу надавит!"
и, когда юзер отдавит палец до посинения, пытаясь нажать на клавишу, винда завопит программе "на! вот твоя клавиша, подавись!"

О! Самое человечное описание колбеков! В цитаты! :D
Сообщение Добавлено: Вс июн 07, 2009 22:00
  Заголовок сообщения:   Ответить с цитатой
WingLion писал(а):
так?

да, примерно так. Только речь идет не только о клавишах.
Например, колбэки могут работать с сортировкой, когда эта самая колбэк функция вызывается во время работы сортировщика для сравнения ключей.
То есть это просто асинхронно вызываемый код.
Сообщение Добавлено: Вт июн 02, 2009 17:48
  Заголовок сообщения:   Ответить с цитатой
mOleg писал(а):
колбэк, это функция, которая вызывается асинхронно. Вызывает ее операционная система, для того, чтобы сообщить о каком-либо событии, которое предварительно запрашивала наша программа.


т.е. программа в некий момент говорит - "эй, винда, скажи мне в это ухо, когда юзер клавишу надавит!"
и, когда юзер отдавит палец до посинения, пытаясь нажать на клавишу, винда завопит программе "на! вот твоя клавиша, подавись!"

так?
Сообщение Добавлено: Вт июн 02, 2009 17:39
  Заголовок сообщения:   Ответить с цитатой
копаюсь с колбэками и не пойму одной вещи.
НА ЧТО УКАЗЫВАЕТ EBP на момент попадания на начало _WNDPROC-CODE ?
как правильно обнаружить начало списка параметров колбэка?
Сообщение Добавлено: Вт июн 02, 2009 17:26
  Заголовок сообщения:   Ответить с цитатой
колбэк, это функция, которая вызывается асинхронно. Вызывает ее операционная система, для того, чтобы сообщить о каком-либо событии, которое предварительно запрашивала наша программа.
Сообщение Добавлено: Вт окт 07, 2008 13:33
  Заголовок сообщения:   Ответить с цитатой
Anonymous писал(а):
В случае с glutDisplayFunc, аккуратней будет:
' [display] 0 CELLS CALLBACK: display ( -- x ) \ т.к. у этого колбэка 0 входных параметров.
(и, по соглашению, надо вернуть одно значение).

На самом деле там нет разницы сколько будет параметров, они все равно грохнутся при выходе из слова, а вот за подсказочку спасибки, а то я по привычке как с обработчиком сообщений окна.
Сообщение Добавлено: Вт окт 07, 2008 05:44
  Заголовок сообщения:   Ответить с цитатой
callback — так называют слово, когда оно передается параметром в виде xt другим словам (которые по своему его потом вызывают). Часто оно передается на вход внешим функциям — в этом случае оно должно быть представлено не фортовым xt, а "машинной" точкой входа в подпрограмму, отвечающую известным соглашениям о вызове.


В случае с glutDisplayFunc, аккуратней будет:
' [display] 0 CELLS CALLBACK: display ( -- x ) \ т.к. у этого колбэка 0 входных параметров.
(и, по соглашению, надо вернуть одно значение).
Сообщение Добавлено: Вт окт 07, 2008 01:25
  Заголовок сообщения:   Ответить с цитатой
Кстати да, я вот тоже пару раз встречал их - и мне тоже было бы интересно узнать про них.
Сообщение Добавлено: Пн окт 06, 2008 20:36
  Заголовок сообщения:   Ответить с цитатой
Pretorian писал(а):
Как создать callback слово?
Мое виденье такое, это правильно?


Было бы неплохо объяснить "по-русски", что это за "колбасные" слова такие?
Сообщение Добавлено: Пн окт 06, 2008 19:56
  Заголовок сообщения:   Ответить с цитатой
В общем оно вот так решается:
Код:
\ слово которое будет вызываться из callback
: [display]
NOOP
;

\ теперь у нас display это callback слово
' [display] 4 CELLS CALLBACK: display
...
\ указываем на callback слово
' display glutDisplayFunc DROP
Сообщение Добавлено: Пн окт 06, 2008 14:48
  Заголовок сообщения:  Вызов callback слов в SPF  Ответить с цитатой
Как создать callback слово?
Мое виденье такое, это правильно?
Код:
\ слово которое будет вызываться из callback
: [display]
NOOP
;

\ теперь у нас display это callback слово
' [display] WNDPROC: display
...
\ указываем на callback слово
' display glutDisplayFunc DROP
Сообщение Добавлено: Пн окт 06, 2008 07:55

Часовой пояс: UTC + 3 часа [ Летнее время ]


cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB