[問題] 請問傳參數給dll的問題
我想在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)
推
09/11 09:23, , 1F
09/11 09:23, 1F
→
09/11 09:23, , 2F
09/11 09:23, 2F