pygame es cagarla ctypes
Pregunta
import mymodule, ctypes
#import pygame
foo = ctypes.cdll.MyDll.foo
print 'success'
si se me quite el comentario de la import pygame
esta falla con WindowsError: [Errno 182] The operating system cannot load %1
.el marco de pila es en ctypes el código de python, tratando de carga MyDll.código de error win32 182 es ERROR_INVALID_ORDINAL
.si la pygame de importación no está allí, la secuencia de comandos se ejecuta con éxito.
Actualización:Si ejecuta fuera del depurador, el %1 está lleno de 'libpng13.dll', que está en el directorio de trabajo y se hace referencia a MyDll, y pygame es sin duda la carga de alguna versión de libpng.No tengo idea de cómo iba a resolver esto.
Solución
Esto suena como un conflicto DLL. Parece que import pygame
carga alguna DLL que no es compatible con un DLL que MyDll
necesidades.
Usted debe tratar de depurar este con sysinternals ProcessExplorer, puede mostrar qué DLL ha cargado un proceso; buscar diferentes dlls en ambos casos.
Otra herramienta útil para problemas de depuración DLL es la dependencywalker, desde www.dependencywalker.com
Otros consejos
Actualización para el registro:Creo que hubo varias versiones de libpng de ser cargado por diferentes módulos (pygame, y mydll).He utilizado el multiprocesamiento para separar los dos módulos y todo el dandy.