anchor.diff:  begin
     Result:=nil;
     if not FInited then exit;
  -  InitMainModule;
  -  with FEngine do
  -  begin
  -    CurrObject:=PyDict_GetItemString(Globals,PChar(AObject));
  +  InitModuleMain;
  +  with FEngine do
  +  begin
  +    CurrObject:=PyDict_GetItemString(GlobalsMain,PChar(AObject));
       if Assigned(CurrObject) then
       begin
         Func:=PyObject_GetAttrString(CurrObject,PChar(AFunc));
  
positive.code:     Traceback.Clear;
      CheckError(False);
  
      InitMainModule;
  
      try
        //PythonEngine used PChar(CleanString(Command)) - is it needed?
        Result := PyRun_String(PChar(Command), Mode, Globals, Globals); //seems no need separate Locals
        if Result = nil then
          CheckError(False);
      except
  
negative.code:     EventTimes: TStringList;
      LoadedLocals: TStringList;
      LoadedModules: TStringList;
      ModuleMain: PPyObject;
      GlobalsMain: PPyObject;
      procedure InitModuleMain;
      procedure ImportCommand(const AObject, AModule: string);
      function ImportModuleCached(const AModule: string): PPyObject;
      function IsLoadedLocal(const S: string): boolean;
  