作者gugu917 (gugu)
看板C_Sharp
标题[问题] 请问传参数给dll的问题
时间Mon Sep 10 20:01:45 2007
我想在C#里叫用dll的时候 一起传两个参数(type:sring)过去
=====C#======
[DllImport("0910.dll"]
public static extern void openimage(string input, string output);
private void button3_Click(object sender, EventArgs e)
{
string input = "lena.raw";
string output = "output.raw";
openimage(input, output);
}
=====dll=====
char input[20], output[20];
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
openimage(input, output);
return TRUE;
}
extern "C" _declspec(dllexport) void _stdcall openimage(
char input[], char output[])
{
int i, j, k;
fileinput=fopen(input, "rb");
fileoutput=fopen(output, "wb");
//....省略........
//....处理影像的步骤
fcloseall();
}
执行的时候会发生以下的错误:
正在OS载入器锁定内城市Managed执行.请勿尝试在DllMain或影像初
始设定函式内部执行Managed程式码,因为这样做可能导致应用程式停
止回应.
请问这是什麽原因!?又该如何解决呢!?
如果不传参数做的话 可以有正确的结果
但是传参数的话就...
因为专题的关系才开始接触dll
去网路上看了很多资料还是没有结果
问了很笨的问题还请大家多多包含捏~>///<
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.130.189.21
※ 编辑: gugu917 来自: 140.130.189.21 (09/10 20:07)
2F:→ mjmjttn:可以用 Encoding.ascii.getbyte 09/11 09:23