Форум: "Основная";
Текущий архив: 2002.06.24;
Скачать: [xml.tar.bz2];
Вниз
Классы и Callback! Найти похожие ветки
← →
MaximatorVeter (2002-06-04 22:46) [0]Мастера и подмастерье! Помогите освоить callback применительно к ООП.
Требуется создать 2 класса (клиент и сервер) и организовать для них callback.
Спасибо всем ответившим.
← →
Игорь Шевченко (2002-06-05 09:37) [1]Пояснить можно, что имеется в виду ?
← →
MaximatorVeter (2002-06-05 19:57) [2]На самом деле я плохо представляю сам механизм обратного вызова. Теоретически я понимаю. А как написать простейший пример (можно и без классов)?
← →
Anatoly Podgoretsky (2002-06-05 21:15) [3]Без клвссоы Proc(CallbackProc);
← →
MaximatorVeter (2002-06-05 21:33) [4]Ведь должен быть клиент и сервер. Клиент предоставляет серверу указатель на callback-функцию. А тот вызывает ее когда считает нужным. Где у вас клиент, а где сервер?
← →
Digitman (2002-06-06 08:23) [5]>MaximatorVeter
А у вас ? "Где у вас клиент, а где сервер" ?? Они на одной машине или на разных ?
← →
MaximatorVeter (2002-06-06 10:36) [6]Клиент - это один класс, а сервер - второй (на одной машине в одной программе в одном потоке). Как их связать через callback?
Кстати динамичемкое назначение событие очень напоминает механизм callback?
← →
Внук (2002-06-06 10:54) [7]Так вот Вы о чем :) Ну, что-то вроде
type
TMyCallback=procedure of object;
TMyClass1=class
...
public
procedure Method1(F:TMyCallback);
...
end;
TMyClass2=class
...
public
procedure Method2;
...
end;
procedure TMyClass1.Method1(F:TMyCallback);
begin
...
F;
...
end;
...
var C1:TMyClass1;
C2:TMyClass2;
...
С1:=TMyClass1.Create;
C2:=TMyClass2.Create;
C1.Method1(C2.Method2);
...
← →
Digitman (2002-06-06 11:35) [8]>MaximatorVeter
Напоминает-то напоминает, но callback-механизм изначально призван реализавать обратные вызовы именно в ситуации, когда "сервер" и "клиент" работают в разных адресных пространствах, в частном случае - на разных машинах.
Твои же ИД с большой натяжкой можно назвать callback-механизмом -"сервер" и "клиент" работают в одном и том же АП единого для обоих процесса (кодовые потоки данного процесса здесь не играют никакой роли и абсолютно неважны здесь). Просто некий класс публикует и реализует некий метод, который в любой момент времени может быть вызван (обычным образом) из выполняемого метода другого класса. Ты же не называешь колбэком реализацию и собственно исполнение метода Form2.Show, если этот метод вызвается в событии Form1.Button1Click() ? Здесь как раз твоя ситуация : код объекта Form1 вызывает код объекта Form2 !!
← →
MaximatorVeter (2002-06-12 20:50) [9]Всем спасибо!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.06.24;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.012 c