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

Вниз

Классы и 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
1-77443
kito
2002-06-10 09:04
2002.06.24
Как реализовать векторную графику в приложении


1-77470
lak_b
2002-06-11 23:54
2002.06.24
TStrings


4-77688
Y_Vovan
2002-04-26 15:56
2002.06.24
Как програмно создать юзера с паролем в Win98,Nt,W2K,Xp


7-77634
Hammer
2002-03-28 17:04
2002.06.24
трэй?


7-77646
skovorodka
2002-03-31 14:38
2002.06.24
Как изменить время часов виндовс ?