Иногда после длительного творческого забвения с трудом вспоминаешь некоторые детали, и начинаются всякого рода косяки.
Так что предлагаю тут делать небольшие примеры дабы быстрее изучить или вспомнить 
Наследование и конструкторы
Код:
Add(MainForm,2953706,49,35)
{
Width=285
Height=115
}
Add(InlineCode,6323385,196,35)
{
WorkPoints=#6:doTest|
Code=#20:// Exsamle HiAsm OOP|15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|24: PCruptLst = ^TCruptLst;|15: {$ifndef F_P} |29: TCruptLst = object(TStrList)|8: {$else}|28: TCruptLst = class(TStrList)|9: {$endif}|10: private|3: |9: public|24: procedure CruptTxt;|6: end; |2: |28: THiAsmClass = class(TDebug)|10: private|16: cl: PCruptLst;|9: public|45: procedure doTest(var dt: TData; idx: word);|5: end;|1: |63: function NewCruptLst{(Prop1: Type1; Prop2: Type2)}: PCruptLst;|0:|14:implementation|0:|62:function NewCruptLst{(Prop1: Type1; Prop2: Type2)}: PCruptLst;|5:begin|14:{$ifndef F_P} |22: New(Result,Create);|52: //Result.{Parent or Self Propmame := Prop1} и т.д|7:{$else}|31: Result^ := TCruptLst.Create;|52: //Result.{Parent or Self Propmame := Prop1} и т.д|8:{$endif}|5:end; |0:|55:procedure THiAsmClass.doTest(var dt: TData; idx: word);|5:begin|20: cl := NewCruptLst;|14: cl.CruptTxt;|18: _debug(cl.Text);|4:end;|0:|29:procedure TCruptLst.CruptTxt;|5:begin|44: {parent TStrList}Text := 'Omed'; //'Demo';|4:end;|0:|4:end.|
}
Add(Button,7930142,126,35)
{
Left=90
Top=25
link(onClick,6323385:doTest,[])
}