Главная страница
    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.009 c
6-77543
Maikl
2002-04-11 10:52
2002.06.24
Опять клиент ищет сервер


14-77605
MaximatorVeter
2002-05-21 19:52
2002.06.24
Мистер Трепло.


1-77332
chernoruk
2002-06-11 07:14
2002.06.24
Вид формы на разных мониторах


1-77462
Мефодий
2002-06-10 19:48
2002.06.24
Ошибка в команде NewPage при использовании QuickReport


14-77553
Voldemar
2002-05-20 01:48
2002.06.24
Language pack для IS Pro 6.30





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский