tag:blogger.com,1999:blog-1309764649608949951.post5271945158905124228..comments2023-10-19T09:15:51.343-07:00Comments on Дневник программиста: class constructorsInshttp://www.blogger.com/profile/00713778854677687334noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-1309764649608949951.post-55272801343556286212011-01-10T05:05:25.448-08:002011-01-10T05:05:25.448-08:00TBase = class
constructor Create; virtual;
TChi...TBase = class<br /> constructor Create; virtual;<br /><br /><br />TChild = class <br /> constructor Create; override;v2noreply@blogger.comtag:blogger.com,1999:blog-1309764649608949951.post-44187007417743022992011-01-10T04:53:59.451-08:002011-01-10T04:53:59.451-08:00function TBase.New: Pointer;
begin
Self:=Pointer(...function TBase.New: Pointer;<br />begin<br /> Self:=Pointer(Self.ClassType.Create);<br /> Result:=Create;<br />end;<br /><br />или<br /><br />class function TBase.New: Pointer;<br />begin<br /> Result:=Create;<br />end;v2noreply@blogger.comtag:blogger.com,1999:blog-1309764649608949951.post-41989089042284424022009-12-22T08:32:51.215-08:002009-12-22T08:32:51.215-08:00С аналогичной проблеммой столкнулся в этом году, к...С аналогичной проблеммой столкнулся в этом году, когда писал модуль для сериализации.<br />При подъеме класса с ресурса приходиться соблюдать порядок выполнения конструкторов подклассов, а также собсна знать адреса и параметры этих конструкторов...<br />пробовали c:=GetClass('TFont').Create; ?))<br />выполнится не TFont.Create а TObject.Create - в результате непроинициализированными остаются поля TFont....<br />Если у Вас уже есть ответ на этот вопрос, прошу помочь ;)<br />trojanhost@mail.ruAnonymousnoreply@blogger.com