Przeglądaj źródła

[debugUtils] Enter method detects nil object

Exilon 4 lat temu
rodzic
commit
f789dad8da
1 zmienionych plików z 10 dodań i 2 usunięć
  1. 10 2
      Quick.Debug.Utils.pas

+ 10 - 2
Quick.Debug.Utils.pas

@@ -183,8 +183,16 @@ end;
 
 class function TDebugger.Enter(aOwner : TObject; const aFunctionName: string) : IDebugMethodEnter;
 begin
-  fLogger.Debug(Format('[ENTER] >> %s.%s',[aOwner.ClassName,aFunctionName]));
-  Result := TDebugMethodEnter.Create(fLogger,Format('%s.%s',[aOwner.ClassName,aFunctionName]));
+  if aOwner <> nil then
+  begin
+    fLogger.Debug(Format('[ENTER] >> %s.%s',[aOwner.ClassName,aFunctionName]));
+    Result := TDebugMethodEnter.Create(fLogger,Format('%s.%s',[aOwner.ClassName,aFunctionName]));
+  end
+  else
+  begin
+    fLogger.Debug(Format('[ENTER] >> %s',[aFunctionName]));
+    Result := TDebugMethodEnter.Create(fLogger,aFunctionName);
+  end;
 end;
 
 class function TDebugger.NewChrono(aStarted : Boolean) : IChronometer;