void AddString(CString a, CString b, CString& c)
{
c = a + b;
}extern "C" void PASCAL EXPORT AddString2(LPCSTR a, LPCSTR b, LPSTR c)
{
CString stra(a);
CString strb(b);
CString strc(c);
AddString(stra,strb,strc);
strcpy(c,strc);
}
本来c#调用的是AddString,但是不能用CString,所以做了一个AddString2。
[DllImport("D:\\Projects\\TestProjects\\TestDLL\\Debug\\TestDLL.dll", CharSet=System.Runtime.InteropServices.CharSet.Auto)]
private unsafe static extern void AddString2(string x,
string y,
StringBuilder z);private void button2_Click(object sender, System.EventArgs e)
{
StringBuilder z = new StringBuilder(256);
string x = textBox3.Text;
string y = textBox4.Text;
AddString2(x,y,z);
textBox6.Text = z.ToString();
}
textBox6.Text怎么得到的是乱码呀?跟踪发现AddString2里面处理的对呀,为何textBox6.Text出来就是乱码了呢?
{
c = a + b;
}extern "C" void PASCAL EXPORT AddString2(LPCSTR a, LPCSTR b, LPSTR c)
{
CString stra(a);
CString strb(b);
CString strc(c);
AddString(stra,strb,strc);
strcpy(c,strc);
}
本来c#调用的是AddString,但是不能用CString,所以做了一个AddString2。
[DllImport("D:\\Projects\\TestProjects\\TestDLL\\Debug\\TestDLL.dll", CharSet=System.Runtime.InteropServices.CharSet.Auto)]
private unsafe static extern void AddString2(string x,
string y,
StringBuilder z);private void button2_Click(object sender, System.EventArgs e)
{
StringBuilder z = new StringBuilder(256);
string x = textBox3.Text;
string y = textBox4.Text;
AddString2(x,y,z);
textBox6.Text = z.ToString();
}
textBox6.Text怎么得到的是乱码呀?跟踪发现AddString2里面处理的对呀,为何textBox6.Text出来就是乱码了呢?
解决方案 »
- 哪位做过多点远程访问的系统,请帮帮忙,谢谢
- .net
- File.AppendAllText()可以很方便读取整个文档,还要StreamReader做什么呢?
- 100分.在线等...解决既给分
- 使用DataSetHelper,对DataSet进行Group By时,可以对手动加入的数据进行Group By,而不能对从数据库或xml文件中加入的数据进行Group By
- 如何在登陆页面里,有选择的进入其他winfrom
- 请教VS2003 C#读取MS-Project (mpp)文件
- tabcontrol 与listview
- 如何遍历WINFORM的TREEVIEW的所有节点?如果节点的值等于某个变量的值,就设置为选中?
- 请问c#对硬件接口及dll的访问支持可好?
- 急得一身汗了,都看不到问题在哪里啊!各位帮帮我吧~
- c#使用API抓幕时怎么控制图片的大小
直接用C#做不行吗?