首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

MemoryStream从c++/cli传入c#后被冻结?

2011-12-23 
MemoryStream从c++/cli传到c#后被冻结???c#调用c++程序集某个方法,返回MemoryStream,调试发现返回的对象包

MemoryStream从c++/cli传到c#后被冻结???
c#调用c++程序集某个方法,返回MemoryStream,调试发现返回的对象包含正确的数据,但CanRead、CanWrite、CanSeek都为false,用StreamReader读取时触发异常,试图调用CopyTo方法拷贝到新new出的MemoryStream对象也触发异常,感觉被冻结了一样。

为什么啊,求解释。

c++代码如下:

C/C++ code
System::IO::MemoryStream^ CCInterface::API::UsingMemStream(){    System::IO::MemoryStream^ ms = gcnew System::IO::MemoryStream();    System::String^ txt = "MemStream";        System::IO::StreamWriter^ sw = gcnew System::IO::StreamWriter(ms);    sw->WriteLine(txt);    sw->Close();        return ms;}


c#代码如下:
C# code
System.IO.MemoryStream ms = CCInterface.API.UsingMemStream();


[解决办法]
sw->close造成的

热点排行