@@ -1961,7 +1961,8 @@ TPythonInterface=class(TDynamicDll)
19611961 DEFAULT_DATETIME_CONVERSION_MODE = dcmToTuple;
19621962type
19631963 TEngineClient = class ;
1964- TSysPathInitEvent = procedure ( Sender : TObject; PathList : PPyObject ) of Object ;
1964+ TSysPathInitEvent = procedure(Sender: TObject; PathList: PPyObject) of object ;
1965+ TConfigInitEvent = procedure(Sender: TObject; var Config: PyConfig) of object ;
19651966 TPythonFlag = (pfDebug, pfInteractive, pfNoSite, pfOptimize, pfVerbose,
19661967 pfFrozenFlag, pfIgnoreEnvironmentFlag, pfIsolated);
19671968 TPythonFlags = set of TPythonFlag;
@@ -2013,6 +2014,7 @@ TPythonEngine = class(TPythonInterface)
20132014 FPythonHome: UnicodeString;
20142015 FPythonPath: UnicodeString;
20152016 FOnSysPathInit: TSysPathInitEvent;
2017+ FOnConfigInit: TConfigInitEvent;
20162018 FTraceback: TPythonTraceback;
20172019 FUseWindowsConsole: Boolean;
20182020 FGlobalVars: PPyObject;
@@ -2163,6 +2165,8 @@ TPythonEngine = class(TPythonInterface)
21632165 property UseWindowsConsole: Boolean read FUseWindowsConsole write FUseWindowsConsole default False;
21642166 property OnAfterInit: TNotifyEvent read FOnAfterInit write FOnAfterInit;
21652167 property OnSysPathInit: TSysPathInitEvent read FOnSysPathInit write FOnSysPathInit;
2168+ property OnConfigInit: TConfigInitEvent read FOnConfigInit write FOnConfigInit;
2169+
21662170 end ;
21672171
21682172
@@ -4789,6 +4793,10 @@ procedure TPythonEngine.Initialize;
47894793 // PythonPath
47904794 SetPythonPath(Config);
47914795
4796+ // Fine tune Config
4797+ if Assigned(FOnConfigInit) then
4798+ FOnConfigInit(Self, Config);
4799+
47924800 Py_InitializeFromConfig(Config);
47934801 finally
47944802 PyConfig_Clear(Config);
0 commit comments