Использование файла MFC .dll с Python 3.2 - PullRequest
1 голос
/ 08 сентября 2011

В настоящее время я планирую получить доступ к файлу .dll моего приложения на основе MFC Dialog, используя Python.Я новичок в Python и у меня установлена ​​последняя версия Python, то есть 3.2.Я также установил PythonWin, но не уверен, будет ли он полезен или нет.Я понял, как основы использования Python с помощью ctypes .В моем DLL-файле у меня есть две функции:

double BoxArea(double L, double H, double W);

double BoxVolume(double L, double H, double W);

, и я использовал команду extern dllimport для доступа к ним в моем диалоговом приложении mfc.

extern "C" __declspec(dllexport)void BoxProperties(double Length, double Height,
                                    double Width, double& Area, double& Volume);

Все это прекрасно работает при попытке доступа с помощью другой программы MFC.Теперь я пытаюсь получить доступ к этим двум функциям с помощью Python.Может ли кто-нибудь подсказать мне, как мне поступить, и какие команды позволят мне получить к нему доступ?

Большое спасибо заранее.

Ответы [ 2 ]

2 голосов
/ 08 сентября 2011

Я думаю это должно дать вам представление о том, что вы пытаетесь сделатьНадеюсь, это поможет.

1 голос
/ 08 сентября 2011

MFC - это не просто библиотека, это платформа. Это будет зависеть от определенных предположений, таких как правильная инициализация, выполняемая при запуске программы, и что насос сообщений MFC будет периодически вызываться среди других. Эти предположения не будут выполнены Python, и будет непрактично заставить его работать должным образом.

Можно запрограммировать DLL так, чтобы она использовала MFC внутри, но была полностью автономной, но я полагаю, что ваша нет. Смотри http://msdn.microsoft.com/en-us/library/30c674tx(v=vs.90).aspx

...