Как да извикам частен метод на клас, разположен в друг модул

Delphi, Компоненти и класове, процедури и функции

Понякога става необходимо да се извика частен метод от друг клас, разположен в друг модул. Това противоречи на ООП принципите на Delphi, но нека се опитаме да го направим все пак. Като пример, разгледайте случая, когато искате да запазите/прочетете всички свойства на наследения обект TP Постоянен, например обект от клас TFont.

Delphi има стандартни класове TReader, TWriter предназначен за запазване/четене на свойства на обект. В тези класове се интересуваме от методите TWriter.WriteProperties(Екземпляр: TP Постоянен) и TReader.ReadProperty(AInstance: TP Постоянен). Метод WriteProperties ви позволява да запишете в потока всички свойства на наследения обект TP Постоянен. Извикване в цикъл на метод ReadProperty ви позволява да прочетете всички предварително запазени свойства от потока.

Помислете за съхраняване на свойства.

Delphi5 е прост. Методът WriteProperties е деклариран в секцията Protected на класа TWriter. Няма да е трудно да му се обадите:

добавете някои допълнителни проверки за подобряване на надеждността на този код

В резултат получихме код, който може да се използва за запазване/четене от потока на всички свойства на всеки наследен обект. TP Постоянен.