Здравствуйте, Verder, Вы писали:
V>Доброго времени суток.
V>Просмотрел статью http://www.rsdn.ru/?article/delphi/serialization.xml, очень позновательно, но вот, что меня интересует. Каким образом сохраняются и восстанавливаются обработчики, например, Button1Click? Delphi каким-то образом это делает, отображаю в инспекторе назначенный на OnClick Button1Click!
V>Подскажите кто знает!
Кажется так получится, но я до конца не уверен...
procedure TForm1.OnFindMethod(Reader: TReader; const MethodName: string;
var Address: Pointer; var Error: Boolean);
begin
Address := Self.MethodAddress (MethodName);
Error := False;
end;
// пример чтения из потока
aReader := TReader.Create(aStream {поток с данныти}, 4096);
try
// aReader.OnError := OnReaderError; возможность перехватывать ошибки чтения
aReader.OnFindMethod := OnFindMethod; // возможность подсунуть свое событие
aComponent := aReader.ReadRootComponent (nil); {создаем обьект из потока}
finally
aReader.Free;
end;
Только не забывай MethodAddress работает только с published методами.