質問

import mymodule, ctypes
#import pygame

foo = ctypes.cdll.MyDll.foo

print 'success'
私はimport pygameのコメントを解除した場合、

これはWindowsError: [Errno 182] The operating system cannot load %1で失敗します。スタックフレームはMYDLLをロードしようとしている、のctypes Pythonコードです。 Win32エラーコード182 ERROR_INVALID_ORDINALです。 pygameのインポートがない場合、スクリプトが正常に実行されます。

アップデート:私は、デバッガの外にそれを実行する場合は、%1を作業ディレクトリにあるとMYDLLが参照する、とpygameのは確かのlibpngのいくつかのバージョンをロードしている「libpng13.dll」で満たされています。私はこの問題を解決するだろうか見当がつかないます。

役に立ちましたか?

解決

このDLLは、紛争のように聞こえます。 import pygameのニーズをMyDll dllファイルとの互換性はありませんいくつかのDLLをロードしているようです。 あなたはそれがプロセスがロードされたDLLをどの表示することができ、のSysinternals ProcessExplorerでこれをデバッグしようとする必要があります。両方の場合で異なるのDLLを探します。

dllの問題をデバッグする別の便利なツールが www.dependencywalker.comする

から、dependencywalkerです

他のヒント

レコードの更新:私は、異なるモジュール(pygameのダウンロード、およびMYDLL)によってロードされているのlibpngの複数のバージョンがあったと信じています。私は2つのモジュールと、すべてのダンディを分離するためにマルチプロセッシングを使用します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top