├── .gitattributes ├── .gitignore ├── LICENSE.md ├── Part1 ├── 3.3 Invalid pointers │ ├── Dangling.dpr │ ├── Stale.dpr │ ├── Wild.dpr │ └── WildWorking.dpr ├── 3.4 Scope │ ├── Scope1.dpr │ ├── Scope2.dpr │ └── Scope3.dpr └── 4 Classes │ ├── Classy.dpr │ ├── Differences.dpr │ ├── DynamicHidding.dpr │ ├── DynamicOverriding.dpr │ ├── Overloading1.dpr │ ├── Overloading2.dpr │ ├── PrintTest.dpr │ ├── StaticBinding.dpr │ ├── uQuestion.pas │ └── uShip.pas ├── Part2 └── 5 Nil │ ├── AssignedCheck.dpr │ ├── NilComparison.dpr │ ├── NilComparisonFunc.dpr │ ├── NilException.dpr │ ├── NullObjectPattern.dpr │ ├── Nullable.pas │ ├── TreeNil.dpr │ ├── TreeNullObject.dpr │ ├── TreeNullObjectSingle.dpr │ └── Weather.dpr ├── Part5 ├── Lazy │ ├── LazyDeathStar.dpr │ └── ReallyLazyDeathStar.dpr ├── SmartPointer │ ├── Smart.dpr │ ├── uLifeMgr.pas │ └── uSmartPtr.pas └── Weak │ ├── SimplerWeakMagic.dpr │ ├── WeakMagic.dpr │ └── uZWeak.pas └── README.md /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/.gitattributes -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/LICENSE.md -------------------------------------------------------------------------------- /Part1/3.3 Invalid pointers/Dangling.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part1/3.3 Invalid pointers/Dangling.dpr -------------------------------------------------------------------------------- /Part1/3.3 Invalid pointers/Stale.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part1/3.3 Invalid pointers/Stale.dpr -------------------------------------------------------------------------------- /Part1/3.3 Invalid pointers/Wild.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part1/3.3 Invalid pointers/Wild.dpr -------------------------------------------------------------------------------- /Part1/3.3 Invalid pointers/WildWorking.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part1/3.3 Invalid pointers/WildWorking.dpr -------------------------------------------------------------------------------- /Part1/3.4 Scope/Scope1.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part1/3.4 Scope/Scope1.dpr -------------------------------------------------------------------------------- /Part1/3.4 Scope/Scope2.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part1/3.4 Scope/Scope2.dpr -------------------------------------------------------------------------------- /Part1/3.4 Scope/Scope3.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part1/3.4 Scope/Scope3.dpr -------------------------------------------------------------------------------- /Part1/4 Classes/Classy.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part1/4 Classes/Classy.dpr -------------------------------------------------------------------------------- /Part1/4 Classes/Differences.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part1/4 Classes/Differences.dpr -------------------------------------------------------------------------------- /Part1/4 Classes/DynamicHidding.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part1/4 Classes/DynamicHidding.dpr -------------------------------------------------------------------------------- /Part1/4 Classes/DynamicOverriding.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part1/4 Classes/DynamicOverriding.dpr -------------------------------------------------------------------------------- /Part1/4 Classes/Overloading1.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part1/4 Classes/Overloading1.dpr -------------------------------------------------------------------------------- /Part1/4 Classes/Overloading2.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part1/4 Classes/Overloading2.dpr -------------------------------------------------------------------------------- /Part1/4 Classes/PrintTest.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part1/4 Classes/PrintTest.dpr -------------------------------------------------------------------------------- /Part1/4 Classes/StaticBinding.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part1/4 Classes/StaticBinding.dpr -------------------------------------------------------------------------------- /Part1/4 Classes/uQuestion.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part1/4 Classes/uQuestion.pas -------------------------------------------------------------------------------- /Part1/4 Classes/uShip.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part1/4 Classes/uShip.pas -------------------------------------------------------------------------------- /Part2/5 Nil/AssignedCheck.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part2/5 Nil/AssignedCheck.dpr -------------------------------------------------------------------------------- /Part2/5 Nil/NilComparison.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part2/5 Nil/NilComparison.dpr -------------------------------------------------------------------------------- /Part2/5 Nil/NilComparisonFunc.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part2/5 Nil/NilComparisonFunc.dpr -------------------------------------------------------------------------------- /Part2/5 Nil/NilException.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part2/5 Nil/NilException.dpr -------------------------------------------------------------------------------- /Part2/5 Nil/NullObjectPattern.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part2/5 Nil/NullObjectPattern.dpr -------------------------------------------------------------------------------- /Part2/5 Nil/Nullable.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part2/5 Nil/Nullable.pas -------------------------------------------------------------------------------- /Part2/5 Nil/TreeNil.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part2/5 Nil/TreeNil.dpr -------------------------------------------------------------------------------- /Part2/5 Nil/TreeNullObject.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part2/5 Nil/TreeNullObject.dpr -------------------------------------------------------------------------------- /Part2/5 Nil/TreeNullObjectSingle.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part2/5 Nil/TreeNullObjectSingle.dpr -------------------------------------------------------------------------------- /Part2/5 Nil/Weather.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part2/5 Nil/Weather.dpr -------------------------------------------------------------------------------- /Part5/Lazy/LazyDeathStar.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part5/Lazy/LazyDeathStar.dpr -------------------------------------------------------------------------------- /Part5/Lazy/ReallyLazyDeathStar.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part5/Lazy/ReallyLazyDeathStar.dpr -------------------------------------------------------------------------------- /Part5/SmartPointer/Smart.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part5/SmartPointer/Smart.dpr -------------------------------------------------------------------------------- /Part5/SmartPointer/uLifeMgr.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part5/SmartPointer/uLifeMgr.pas -------------------------------------------------------------------------------- /Part5/SmartPointer/uSmartPtr.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part5/SmartPointer/uSmartPtr.pas -------------------------------------------------------------------------------- /Part5/Weak/SimplerWeakMagic.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part5/Weak/SimplerWeakMagic.dpr -------------------------------------------------------------------------------- /Part5/Weak/WeakMagic.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part5/Weak/WeakMagic.dpr -------------------------------------------------------------------------------- /Part5/Weak/uZWeak.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/Part5/Weak/uZWeak.pas -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dalijap/code-delphi-mm/HEAD/README.md --------------------------------------------------------------------------------