diff --git a/src/libloader/com.py b/src/libloader/com.py index 98ebe858..ecc0b9e0 100644 --- a/src/libloader/com.py +++ b/src/libloader/com.py @@ -2,15 +2,25 @@ from pywintypes import com_error import win32com import paths win32com.__gen_path__=paths.data_path("com_cache") +import sys +import os +sys.path.append(os.path.join(win32com.__gen_path__, ".")) from win32com.client import gencache +fixed=False def prepare_gencache(): gencache.is_readonly = False gencache.GetGeneratePath() - +def patched_getmodule(modname): + mod=__import__(modname) + return sys.modules[modname] def load_com(*names): + global fixed + if fixed==False: + gencache._GetModule=patched_getmodule + fixed=True result = None for name in names: try: