в vs2005 создаю проект библиотеки -- Visual C++ > Smart Device > Win32 Smart Device Project в настройках указываю
dll
добавляю функцию mymax
#include "stdafx.h"
#include <windows.h>
#include <commctrl.h>
BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
return TRUE;
}
__declspec(dllexport) int mymax(int a, int b)
{
return a > b ? a : b;
}
проект Visual C# > Smart Device > Pocket PC 2003 > Device Application.
public partial class Form1 : Form
{
[DllImport("mydll.dll")]
static extern int mymax(int a, int b);
public Form1()
{
InitializeComponent();
int i = mymax(32, 12);
}
}
при выполнении исключение:
MissingMethodException
Can`t find PInvoke DLL
Очевидно в эмуляторе нет этой самой библиотеки. Как сделать чтоб работало? 0о
P>P>public partial class Form1 : Form
P>{
P> [DllImport("mydll.dll")]
P> static extern int mymax(int a, int b);
P> public Form1()
P> {
P> InitializeComponent();
P> int i = mymax(32, 12);
P> }
P>}
P>
P>при выполнении исключение:
P>MissingMethodException
P>Can`t find PInvoke DLL
P>Очевидно в эмуляторе нет этой самой библиотеки. Как сделать чтоб работало? 0о
по-моему, надо эту mydll.dll добавить как reference в приложение, тогда при компиляции создастся библиотека-обёртка, её и нужно скопировать вместе с этой dll-кой на устройство.
Здравствуйте, pub123, Вы писали:
P>при выполнении исключение:
P>MissingMethodException
P>Can`t find PInvoke DLL
P>Очевидно в эмуляторе нет этой самой библиотеки. Как сделать чтоб работало? 0о
Нет, просто в твоя DLL'ка не экспортирует функцию с именем "mymax", покажи что ты написал в DEF файле для дллки?
... << RSDN@Home 1.2.0 alpha rev. 676>>