У меня есть некоторые проблемы с tcl из исполняемого файла c с использованием интерпретатора python. По какой-то причине он не может загрузить <fullpath>Tix843.dll
. Но при запуске кода python непосредственно (из python) это работает. Путь/имя в dll верен ... с зависимым ходоком я вижу только, что Tkinter пытается загрузить dll tix, но не может найти его ...Tcl: как изменить поведение nameofexecutable
После отслеживания всех путей в tcl я могу только обнаружить 1 разницу: nameofexecutable
. При запуске непосредственно из python это путь к python.exe
, но при запуске его из исполняемого файла c это (очевидно) path/name of the executable
.
В tcl/tk я заметил, что nameofexecutable
используется для установки множества путей, поэтому я думаю, что это вызывает мою проблему.
То, что я пытался предотвратить эту проблему:
- добавить путь к DLL на пути
- системы добавьте путь к DLL в
$auto_path
-> без изменений - не установить
argv[0]
с-исполняемому перед вызовом PySys_SetArgv -> без изменений
не я делаю что-то глупое или как я могу установить nameofexecutable
? Есть ли другой способ исправить эту проблему.
редактировать: снова проверяется с зависимостью ходунки и теперь у меня есть не ретранслировать никакой подсказки, что происходит ... здесь результаты:
00:00:07.800: LoadLibraryExW("C:/Program Files (x86)/Python27/tcl/reg1.2/tclreg12.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) called from "c:\program files (x86)\python27\dlls\TCL85.DLL" at address 0x02468871.
00:00:07.800: Loaded "c:\program files (x86)\python27\tcl\reg1.2\TCLREG12.DLL" at address 0x00440000. Successfully hooked module.
00:00:07.816: Unloaded "c:\program files (x86)\python27\tcl\reg1.2\TCLREG12.DLL" at address 0x00440000.
00:00:07.816: LoadLibraryExW("C:/Program Files (x86)/Python27/tcl/reg1.2/tclreg12.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) returned NULL. Error: The specified module could not be found (126).
00:00:07.832: LoadLibraryExW("C:/Program Files (x86)/Python27/tcl/reg1.2/tclreg12.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) called from "c:\program files (x86)\python27\dlls\TCL85.DLL" at address 0x0246889C.
00:00:07.832: Loaded "c:\program files (x86)\python27\tcl\reg1.2\TCLREG12.DLL" at address 0x00440000. Successfully hooked module.
00:00:07.832: Unloaded "c:\program files (x86)\python27\tcl\reg1.2\TCLREG12.DLL" at address 0x00440000.
00:00:07.832: LoadLibraryExW("C:/Program Files (x86)/Python27/tcl/reg1.2/tclreg12.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) returned NULL. Error: The specified module could not be found (126).
00:00:07.925: LoadLibraryExW("C:/Program Files (x86)/Python27/tcl/tix8.4.3/Tix843.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) called from "c:\program files (x86)\python27\dlls\TCL85.DLL" at address 0x02468871.
00:00:07.925: Loaded "c:\program files (x86)\python27\tcl\tix8.4.3\TIX843.DLL" at address 0x04480000. Successfully hooked module.
00:00:07.925: Unloaded "c:\program files (x86)\python27\tcl\tix8.4.3\TIX843.DLL" at address 0x04480000.
00:00:07.925: LoadLibraryExW("C:/Program Files (x86)/Python27/tcl/tix8.4.3/Tix843.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) returned NULL. Error: The specified module could not be found (126).
00:00:07.941: LoadLibraryExW("C:/Program Files (x86)/Python27/tcl/tix8.4.3/Tix843.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) called from "c:\program files (x86)\python27\dlls\TCL85.DLL" at address 0x0246889C.
00:00:07.956: Loaded "c:\program files (x86)\python27\tcl\tix8.4.3\TIX843.DLL" at address 0x04480000. Successfully hooked module.
00:00:07.956: Unloaded "c:\program files (x86)\python27\tcl\tix8.4.3\TIX843.DLL" at address 0x04480000.
00:00:07.956: LoadLibraryExW("C:/Program Files (x86)/Python27/tcl/tix8.4.3/Tix843.dll", 0x00000000, LOAD_WITH_ALTERED_SEARCH_PATH) returned NULL. Error: The specified module could not be found (126).
00:00:07.956: LoadLibraryA("shell32") called from "c:\program files (x86)\python27\dlls\TK85.DLL" at address 0x024BBACD.
00:00:07.956: LoadLibraryA("shell32") returned 0x75480000.
так он может найти DLLS несколько раз, но не всегда и то сбой
Извините, забыл упомянуть, я пробовал это, но без успеха ... он фактически дает правильный путь к dll и говорит, что он не может загрузить его (или зависимую библиотеку ...), которую я проверил с помощью ходунки зависимостей, но что только говорит, что Tkinter Cant загружает Tix.dll ... так что не знаю, как исправить это –
Jen