Турбо Паскаль 6.0

Регистрация.


После того, как Вы создали запись регистрации потока, Вы вызываете RegisterType, передавая ему Вашу запись. Так, чтобы зарегистрировать объект TMagritte для использования с потоками, Вы пишите:

const RMagritte: TStreamRec = ( ObjType: 100; VmtLink: Ofs(TypeOf(TMagritte)^); Load: @TMagritte.Load; Store: @TMagritte.Store ); RegisterType(RMagritte);

Теперь Вы можете выводить экземпляры нового типа объекта в любой поток Turbo Vision и читать эти экземпляры из потоков.


Вы не должны забывать регистрировать каждую из этих записей до выполнения ввода/вывода в поток. Простейший способ сделать это - поместить их в одну процедуру и вызвать ее в начале Вашей программы (или в методе Init Вашей программы).

procedure StreamRegistration; begin RegisterType(RCollection); RegisterType(RGraphPoint); RegisterType(RGraphCircle); RegisterType(RGraphRect); end;

Заметим, что Вы зарегистрировали TCollection (используя его запись RCollection - теперь Вы видите почему соглашения об именовании упрощает программирование), хотя Вы не определяли TCollection. Это правило просто: Вы отвечаете за регистрацию всех типов объектов, которые выводятся в поток.



Содержание раздела