diff --git a/Source/PythonEngine.pas b/Source/PythonEngine.pas index adaaf34c..8d5b2160 100644 --- a/Source/PythonEngine.pas +++ b/Source/PythonEngine.pas @@ -1817,6 +1817,9 @@ TPythonEngine = class(TPythonInterface) procedure AssignPyFlags; public + // This is only for modules + procedure InitializeFromModule; + // Constructors & Destructors constructor Create(AOwner: TComponent); override; destructor Destroy; override; @@ -4086,7 +4089,11 @@ procedure TPythonEngine.Finalize; procedure TPythonEngine.AfterLoad; begin inherited; - Initialize; + + if IsLibrary then + FInitialized := True + else + Initialize; end; procedure TPythonEngine.BeforeLoad; @@ -4138,6 +4145,11 @@ procedure TPythonEngine.AssignPyFlags; SetFlag(Py_IgnoreEnvironmentFlag, pfIgnoreEnvironmentFlag in FPyFlags); end; +procedure TPythonEngine.InitializeFromModule; +begin + gPythonEngine := Self; +end; + procedure TPythonEngine.Initialize; procedure InitSysPath; @@ -4227,7 +4239,9 @@ procedure TPythonEngine.Initialize; else FInitialized := True; FIORedirected := False; + InitSysPath; + SetProgramArgs; GetTimeStructType; GetDateTimeTypes; @@ -9156,6 +9170,5 @@ procedure PythonVersionFromDLLName(LibName: string; out MajorVersion, MinorVersi MinorVersion:= StrToIntDef(LibName, DefaultMinor); end; - end.