Browse Source

Reference removed also of fDependencyOrder, because had occured error of "invalid pointer operation" on destroy do IOC.

Diogo Aires 9 months ago
parent
commit
f1c2799515
1 changed files with 3 additions and 0 deletions
  1. 3 0
      Quick.IOC.pas

+ 3 - 0
Quick.IOC.pas

@@ -634,10 +634,13 @@ begin
   begin
   begin
     if (vValue.IntfInfo = aTypeInfo) and (vValue.Name = aName) then
     if (vValue.IntfInfo = aTypeInfo) and (vValue.Name = aName) then
     begin
     begin
+      if fDependencyOrder.Contains(vValue) then
+        fDependencyOrder.Remove(vValue);
       fDependencies.Remove(key);
       fDependencies.Remove(key);
       vValue.Free;
       vValue.Free;
     end;
     end;
   end;
   end;
+
 end;
 end;
 
 
 { TIocResolver }
 { TIocResolver }