рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд╕рд╛рде FreeAndNil рдХрд╛ рдПрдирд╛рд▓реЙрдЧ

рдбреЗрд▓реНрдлреА рдореЗрдВ рдореБрдХреНрдд рд╡рд╕реНрддреБрдУрдВ рдХреЗ "рдлрд╛рдВрд╕реА" рд▓рд┐рдВрдХ рдХреА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдорддреМрд░ рдкрд░ SysUtils.FreeAndNil рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред FreeAndNil рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдореБрдХреНрдд рдХрд░рддреА рд╣реИ рдФрд░ рдЪрд░ рдХреЛ nil рдкрд░ рд╕реЗрдЯ рдХрд░рддреА рд╣реИред
рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рдпрд╣ рддрдереНрдп рдкрд╕рдВрдж рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рдЯрд╛рдЗрдкреНрдб рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВ рд╣реИред рдФрд░ рд╡рд╣рд╛рдВ рдЖрдк рди рдХреЗрд╡рд▓ рдПрдХ рд╡рд╕реНрддреБ, рдмрд▓реНрдХрд┐ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдХрд┐рд╕реА рднреА рдЪрд░ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдРрд╕реЗ рдЧрд▓рдд рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрдВрдЧреАред рдХреНрдпрд╛ рд╕рдмрд╕реЗ рдЕрдкреНрд░рд┐рдп рд╕рдорд╕реНрдпрд╛рдПрдВ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдЬрдЧрд╣ рдореЗрдВ рд╕рд╛рдордиреЗ рдЖ рд╕рдХрддреА рд╣реИрдВред
рдореИрдВ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рд╕рдВрдХрд▓рдХ рдореБрдЭреЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реЗрдВ, рдЕрдзрд┐рдорд╛рдирддрдГ рд╕рдВрдХрд▓рди рдордВрдЪ рдкрд░ред рд▓реЗрдХрд┐рди рдЕрдлрд╕реЛрд╕, рдореБрдЭреЗ рдРрд╕рд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛, рдЬрд┐рд╕рдореЗрдВ рдХрдВрдкрд╛рдЗрд▓рд░ рдиреЗ рдЯреВрдмрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рдЫреВрдЯ рдФрд░ рдЕрд╢рдХреНрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реЛред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдПрдХ рдРрд╕рд╛ рддрд░реАрдХрд╛ рдорд┐рд▓рд╛, рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓реА рдХреЙрд▓ рдкрд░ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ рдерд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдПрдХ рдмрд╛рд░ рджреЗрдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИред рдпрд╣рд╛рдБ FreeAndNil рдХреЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдПрдирд╛рд▓реЙрдЧ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣реИред

рдпреВрдирд┐рдЯ CommonUnit ;
рдЗрдВрдЯрд░рдлрд╝реЗрд╕
рдЯрд╛рдЗрдк
TobjectHelper = Tobject рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рд╕ рд╣реЗрд▓реНрдкрд░
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐: рд╢реБрд▓реНрдХ ( var Obj ) ;
рдЕрдВрдд ;
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдкреНрд░рдХреНрд░рд┐рдпрд╛ TObjectHelper ред рдирд┐: рд╢реБрд▓реНрдХ ( var Obj ) ;
рд╢реБрд░реВ рдХрд░рдирд╛
рдореБрдЦрд░ ( рд╕реНрд╡ = рдкреЙрдЗрдВрдЯрд░ ( рдУрдмрдЬ ) , 'рдЯреЛрдмреЗрдЬреЗрдХреНрдЯ рд╣реЗрд▓реНрдкрд░.рдлреНрд░реАрд╕реЗрд▓реНрдл рдЧрд▓рдд рдЯрд╛рдЗрдк' ) ;
рдпрджрд┐ рд╕реНрд╡ <> рд╢реВрдиреНрдп рд╣реЛ рддреЛ
рд╢реБрд░реВ рдХрд░рдирд╛
рд╕реВрдЪрдХ ( рдУрдмрдЬ ) : = рдиреАрд▓ ;
рдирд╖реНрдЯ;
рдЕрдВрдд ;
рдЕрдВрдд ;
рдЕрдВрдд ред

рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ, рд╡рд┐рдзрд┐ рдЪрд░ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ рдЬрд┐рд╕реЗ рд░реАрд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╣реА рд╡рд╕реНрддреБ рд╣реЛрдЧреА рдЬрд┐рд╕рдХреА рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ: Obj.Free (Obj);
рдЬрдм рдпрд╣ рдореЙрдбреНрдпреВрд▓ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХрдВрдкрд╛рдЗрд▓рд░ рдЖрдкрдХреЛ рдорд╛рдирдХ рдХреЗ рд╕рднреА рдХреЙрд▓ рдХреЛ рдирдП рдУрдмреНрдЬ.рдлреНрд░реА (рдУрдмрдЬ) рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░реЗрдЧрд╛ред рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░рд╣рд╛ред рдпрджрд┐ рдорд╛рдирдХ рдирд┐: рд╢реБрд▓реНрдХ рдХреЗ рдкреВрд░реНрдг рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдЯреЛрдмреЗрдЬреЗрдХреНрдЯ рд╣реЗрд▓реНрдкрд░ рдореЗрдВ рд╡рд┐рдзрд┐ рдХрд╛ рдирд╛рдо рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рд╡рд┐рдзрд┐ рдореЗрдВ рдорд╛рдирдХ FreeAndNil рдХреЗ рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдорд┐рд▓рддреА рд╣реИ, рдЬрд┐рд╕реЗ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдирд┐рдпрдВрддреНрд░рдгред рдФрд░ рд╕рдВрдХрд▓рдХ рдЙрди рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдорд╛рдирдХ рдлреНрд░реА рд░рд╣реЗред Minuses рдореЗрдВ, рдХреБрдЫ рд╣рдж рддрдХ рдмрджрд╕реВрд░рдд рдХреЙрд▓ рд╣реЛрдиреЗ рджреЗрдВ, рдЪрд░ рдирд╛рдо рдХреЛ рджреЛ рдмрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣рд╛рдВ, рдбреЗрд▓реНрдлреА рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЕрдзрд┐рдХ рдЦреВрдмрд╕реВрд░рддреА рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдбреЗрд▓реНрдлреА 2007 рддрдХ рд╕реАрдорд┐рдд рдерд╛ред


Source: https://habr.com/ru/post/In177431/


All Articles