Доброго времени суток, уважаемые.
Возникла проблема следующего характера:
Если форма-Ancestor содержит компонент со свойством типа TCollection и эта коллекция уже содержит один елемент коллекции с обработчиком любого события , то при
наследовании формы средствами Delphi в DesignTime вываливается ошибка типа "error creating form: Access
violation at address xxxx in module 'vcl50.bpl'. Read of address 00000000".
Ясное дело inherited форма не создаётся. Если же у елемента коллекции нет обработчиков, то
наследование происходит корректно.
Как обойти данное поведение.
З.Ы. Такое можно смоделировать так:
1. Положив на форму TClientDataSet.
2. Вызвать редактор свойствa TAggregates (наследник TCollection) и создать один елемент этой коллекции и у него назначить обработчик события OnUpdate.
3. Попробовать унаследовать эту форму.
Конкретно компонент TClientDataSet не интересует, он приведен для примера. Интересует поведение TCollection при наследовании
С уважением Нестерчук М.
Posted via RSDN NNTP Server 1.8 beta
В исходном посте забыл указать, что используется DElphi5.
С уважением Нестерчук М.
Posted via RSDN NNTP Server 1.8 beta
Hello, nestermv!
You wrote on Fri, 13 Feb 2004 13:04:41 GMT:
n> Возникла проблема следующего характера:
n> Если форма-Ancestor содержит компонент со свойством типа TCollection
n> и эта коллекция уже содержит один елемент коллекции с обработчиком
n> любого события , то при наследовании формы средствами Delphi в
n> DesignTime вываливается ошибка типа "error creating form: Access
n> violation at address xxxx in module 'vcl50.bpl'. Read of address
n> 00000000".
n> Ясное дело inherited форма не создаётся. Если же у елемента коллекции
n> нет обработчиков, то наследование происходит корректно.
n> Как обойти данное поведение.
n> З.Ы. Такое можно смоделировать так:
n> 1. Положив на форму TClientDataSet.
n> 2. Вызвать редактор свойствa TAggregates (наследник TCollection) и
n> создать один елемент этой коллекции и у него назначить обработчик
n> события OnUpdate.
n> 3. Попробовать унаследовать эту форму.
n> Конкретно компонент TClientDataSet не интересует, он приведен для
n> примера. Интересует поведение TCollection при наследовании
В D6U2 в вышеописанной ситуации все нормально, но на подобные глюки натыкался не раз...
Может попробовать привязывать значения событий в конструкторое или OnCreate формы-предка?
With best regards, Alexander Diouzshev-Maltsev.
Posted via RSDN NNTP Server 1.8 beta