Автор |
Сообщение |
|
|
Заголовок сообщения: |
|
|
|
WingLion писал(а): т.е. программа в некий момент говорит - "эй, винда, скажи мне в это ухо, когда юзер клавишу надавит!" и, когда юзер отдавит палец до посинения, пытаясь нажать на клавишу, винда завопит программе "на! вот твоя клавиша, подавись!"
О! Самое человечное описание колбеков! В цитаты!
[quote="WingLion"]т.е. программа в некий момент говорит - "эй, винда, скажи мне в это ухо, когда юзер клавишу надавит!" и, когда юзер отдавит палец до посинения, пытаясь нажать на клавишу, винда завопит программе "на! вот твоя клавиша, подавись!" [/quote]
О! Самое человечное описание колбеков! В цитаты! :D
|
|
|
|
Добавлено: Вс июн 07, 2009 22:00 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
WingLion писал(а): так?
да, примерно так. Только речь идет не только о клавишах.
Например, колбэки могут работать с сортировкой, когда эта самая колбэк функция вызывается во время работы сортировщика для сравнения ключей.
То есть это просто асинхронно вызываемый код.
[quote="WingLion"]так?[/quote]
да, примерно так. Только речь идет не только о клавишах.
Например, колбэки могут работать с сортировкой, когда эта самая колбэк функция вызывается во время работы сортировщика для сравнения ключей.
То есть это просто асинхронно вызываемый код.
|
|
|
|
Добавлено: Вт июн 02, 2009 17:48 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
mOleg писал(а): колбэк, это функция, которая вызывается асинхронно. Вызывает ее операционная система, для того, чтобы сообщить о каком-либо событии, которое предварительно запрашивала наша программа.
т.е. программа в некий момент говорит - "эй, винда, скажи мне в это ухо, когда юзер клавишу надавит!"
и, когда юзер отдавит палец до посинения, пытаясь нажать на клавишу, винда завопит программе "на! вот твоя клавиша, подавись!"
так?
[quote="mOleg"]колбэк, это функция, которая вызывается асинхронно. Вызывает ее операционная система, для того, чтобы сообщить о каком-либо событии, которое предварительно запрашивала наша программа.[/quote]
т.е. программа в некий момент говорит - "эй, винда, скажи мне [b]в это ухо[/b], когда юзер клавишу надавит!"
и, когда юзер отдавит палец до посинения, пытаясь нажать на клавишу, винда завопит программе "на! вот твоя клавиша, подавись!"
так?
|
|
|
|
Добавлено: Вт июн 02, 2009 17:39 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
копаюсь с колбэками и не пойму одной вещи.
НА ЧТО УКАЗЫВАЕТ EBP на момент попадания на начало _WNDPROC-CODE ?
как правильно обнаружить начало списка параметров колбэка?
копаюсь с колбэками и не пойму одной вещи.
НА ЧТО УКАЗЫВАЕТ EBP на момент попадания на начало _WNDPROC-CODE ?
как правильно обнаружить начало списка параметров колбэка?
|
|
|
|
Добавлено: Вт июн 02, 2009 17:26 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
колбэк, это функция, которая вызывается асинхронно. Вызывает ее операционная система, для того, чтобы сообщить о каком-либо событии, которое предварительно запрашивала наша программа.
колбэк, это функция, которая вызывается асинхронно. Вызывает ее операционная система, для того, чтобы сообщить о каком-либо событии, которое предварительно запрашивала наша программа.
|
|
|
|
Добавлено: Вт окт 07, 2008 13:33 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Anonymous писал(а): В случае с glutDisplayFunc, аккуратней будет: ' [display] 0 CELLS CALLBACK: display ( -- x ) \ т.к. у этого колбэка 0 входных параметров. (и, по соглашению, надо вернуть одно значение).
На самом деле там нет разницы сколько будет параметров, они все равно грохнутся при выходе из слова, а вот за подсказочку спасибки, а то я по привычке как с обработчиком сообщений окна.
[quote="Anonymous"] В случае с glutDisplayFunc, аккуратней будет: ' [display] 0 CELLS CALLBACK: display ( -- x ) \ т.к. у этого колбэка 0 входных параметров. (и, по соглашению, надо вернуть одно значение).[/quote]
На самом деле там нет разницы сколько будет параметров, они все равно грохнутся при выходе из слова, а вот за подсказочку спасибки, а то я по привычке как с обработчиком сообщений окна.
|
|
|
|
Добавлено: Вт окт 07, 2008 05:44 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
callback — так называют слово, когда оно передается параметром в виде xt другим словам (которые по своему его потом вызывают). Часто оно передается на вход внешим функциям — в этом случае оно должно быть представлено не фортовым xt, а "машинной" точкой входа в подпрограмму, отвечающую известным соглашениям о вызове.
В случае с glutDisplayFunc, аккуратней будет:
' [display] 0 CELLS CALLBACK: display ( -- x ) \ т.к. у этого колбэка 0 входных параметров.
(и, по соглашению, надо вернуть одно значение).
callback — так называют слово, когда оно передается параметром в виде xt другим словам (которые по своему его потом вызывают). Часто оно передается на вход внешим функциям — в этом случае оно должно быть представлено не фортовым xt, а "машинной" точкой входа в подпрограмму, отвечающую известным соглашениям о вызове.
В случае с glutDisplayFunc, аккуратней будет:
' [display] 0 CELLS CALLBACK: display ( -- x ) \ т.к. у этого колбэка 0 входных параметров.
(и, по соглашению, надо вернуть одно значение).
|
|
|
|
Добавлено: Вт окт 07, 2008 01:25 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Кстати да, я вот тоже пару раз встречал их - и мне тоже было бы интересно узнать про них.
Кстати да, я вот тоже пару раз встречал их - и мне тоже было бы интересно узнать про них.
|
|
|
|
Добавлено: Пн окт 06, 2008 20:36 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Pretorian писал(а): Как создать callback слово? Мое виденье такое, это правильно?
Было бы неплохо объяснить "по-русски", что это за "колбасные" слова такие?
[quote="Pretorian"]Как создать callback слово? Мое виденье такое, это правильно? [/quote]
Было бы неплохо объяснить "по-русски", что это за "колбасные" слова такие?
|
|
|
|
Добавлено: Пн окт 06, 2008 19:56 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
В общем оно вот так решается:
Код: \ слово которое будет вызываться из callback : [display] NOOP ;
\ теперь у нас display это callback слово ' [display] 4 CELLS CALLBACK: display ... \ указываем на callback слово ' display glutDisplayFunc DROP
В общем оно вот так решается:
[code] \ слово которое будет вызываться из callback : [display] NOOP ;
\ теперь у нас display это callback слово ' [display] 4 CELLS CALLBACK: display ... \ указываем на callback слово ' display glutDisplayFunc DROP [/code]
|
|
|
|
Добавлено: Пн окт 06, 2008 14:48 |
|
|
|
|
|
Заголовок сообщения: |
Вызов callback слов в SPF |
|
|
Как создать callback слово?
Мое виденье такое, это правильно?
Код: \ слово которое будет вызываться из callback : [display] NOOP ;
\ теперь у нас display это callback слово ' [display] WNDPROC: display ... \ указываем на callback слово ' display glutDisplayFunc DROP
Как создать callback слово?
Мое виденье такое, это правильно?
[code] \ слово которое будет вызываться из callback : [display] NOOP ;
\ теперь у нас display это callback слово ' [display] WNDPROC: display ... \ указываем на callback слово ' display glutDisplayFunc DROP [/code]
|
|
|
|
Добавлено: Пн окт 06, 2008 07:55 |
|
|
|
|