用StringBuilder来代替char[],如[DllImport("DxfTree.dll")]
public static extern int GuoxpCreate( StringBuilder szFileName, RECT rect);
public static extern int GuoxpCreate( StringBuilder szFileName, RECT rect);
调试欢乐多
[StructLayout(LayoutKind.Sequential)]
public struct RECT
{
public int Top;
public int Left;
public int Width;
public int Height;
}
不过要与你dll引用的一样
我先试试,不行的话还要麻烦你#83
[StructLayout(LayoutKind.Sequential)]
public struct RECT
{
public int Top;
public int Left;
public int Width;
public int Height;
}[DllImport("DxfTree.dll")]
public static extern int GuoxpCreate( StringBuilder szFileName, RECT rect);不过我不知道你的RECT如何定义的,只要把上面的RECT进行相应修改就行了。
不过这只是声明方法,下面还要引用:
GuoxpCreate(szFileName, rect);
第一个参数没有问题:我可以把打开的文件名传过去
可是第二个参数: 。我应该怎么赋值给它
rect.Top = ..;
rect.Left = ..;
rect.Width = ..;
rect.Height = ..;StringBuilder szFileName = new StringBuilder( 256 );
szFileName.Append( yourFileName );//Calling function
GuoxpCreate(szFileName, rect);