OHidden
پنج شنبه 05 آذر 1394, 13:43 عصر
سلام دوستان
قصد نوشتن فایل dll با C++ دارم که از اون در C# استفاده کنم
مشکلی که دارم وقتی خروجی تابع از نوع string باشه خطای زیر صادر میشه
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
در هردو طرف برنامه بدون خطا اجرا میشه اما در runtime سی شارپ خطای بالا رخ میده
کد بخش ++C نوشته شده با 2008++VC
extern "C" __declspec(dllexport) string SetString();
__declspec(dllexport) string SetString()
{
return "Test";
}
و کد استفاده در #C
[DllImport("C:\\baz.dll", SetLastError = true)]
public static extern string SetString();
private void button1_Click(object sender, EventArgs e)
{
string str = SetString();
}
دوستان لطفا راهنمایی بفرمایید که به چه صورتی میتونم یک ورودی رشته ای دریافت کنم
قصد نوشتن فایل dll با C++ دارم که از اون در C# استفاده کنم
مشکلی که دارم وقتی خروجی تابع از نوع string باشه خطای زیر صادر میشه
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
در هردو طرف برنامه بدون خطا اجرا میشه اما در runtime سی شارپ خطای بالا رخ میده
کد بخش ++C نوشته شده با 2008++VC
extern "C" __declspec(dllexport) string SetString();
__declspec(dllexport) string SetString()
{
return "Test";
}
و کد استفاده در #C
[DllImport("C:\\baz.dll", SetLastError = true)]
public static extern string SetString();
private void button1_Click(object sender, EventArgs e)
{
string str = SetString();
}
دوستان لطفا راهنمایی بفرمایید که به چه صورتی میتونم یک ورودی رشته ای دریافت کنم