Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-77468
yakshe
2002-06-12 02:50
2002.06.24
Тупой вопросик про ListView..


14-77599
kaif
2002-05-22 11:11
2002.06.24
Мне пришло 2 авиабилета FREE


1-77333
Dishar
2002-06-12 17:44
2002.06.24
Проблемы с Series :(


6-77529
Heh
2002-04-17 09:46
2002.06.24
Научите


7-77653
Alex_LG
2002-03-27 03:11
2002.06.24
Как для IE программно поставить/сменить прокси?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский