C# 一个类A里面写了一个线程,线程里面是调用另外一个应用程序(此应用程序里面的窗体上放了一个C++写的控件)上放的控件里面的一些方法。线程里面调用完之后我都用窗体dispose()的.
一个类B频繁调用A里面的那个线程,但是时不时会报那个错误,
我感觉这个问题是因为我之前的窗体没释放掉,然后下一次又在用,但是不太确定。 很急的问题,求解啊。。稍后贴代码块
一个类B频繁调用A里面的那个线程,但是时不时会报那个错误,
我感觉这个问题是因为我之前的窗体没释放掉,然后下一次又在用,但是不太确定。 很急的问题,求解啊。。稍后贴代码块
解决方案 »
- ASPX网页上面的按钮文字换行,使用了 word-wrap: break-word;在ie上市可以换行的,但是加载到webbrowser上就不能换行,求解啊
- 在DataList控件里面怎么取时间(2008-07-02 14:58:09.687)的年月日 2008 7 02 怎么取????
- url加时间字符的问题
- 一个有关进程方面的问题,进来看一下!
- c#.net生成的dll文件是否能被其他开发工具调用
- 不使用ASP。NET的viewstate
- visual c#数据库连接问题"System.Data.SqlClient.SqlException"
- 请问我模拟发送httpwebrequest请求时,提示我目标服务器积极拒绝如何解决?
- sql server 百万级数据 瓶颈问题
- 关于构子
- |ZYCWPF| 在自定义控件中ZRichTextBox : RichText 为什么GetTemplateChild和FindName都得不到我的控件对像呢?
- EntityFramework Lambda表达式代码
嗯,找到了,调试状态下,DEBUG->WINDOWS下面 我在等他报错这个堆栈能看出什么原因么
CommonConver.DLL!CommonConver.OcxForm.DeleteallImage() Line45+0x11 bytes
CommonConver.DLL!CommonConver.PublicConver.GetPathValue.AnonymousMethod(object args={CommonConver.PublicConver.PathData}) Line 69 + 0xa bytes
这个是报错的时候的堆栈信息
这个方法,贴出45行和前后的代码。
{
public static bool isconvert=false;
public static void Main(strig[] args)
{}
public string ReturnPath(string dicomFileName,string saveaPath,string savejPath)
{
PathData PD=new PathData();
PD.DicomFileName=dicomFileName;
PD.SaveAPath=saveaPath;
PD.SaveJPath=savejPath;
return GetPathValue(PD);
}private sting GetPathValue(PathData data)
{
isconvert=tru;
int cunt=0;
sting stPath=string.Empty;System.Threading.Thread thread=new System.Threadig.Thread(delegate(object args)
{
OcxForm ocxf=new OcxForm();
ocxf.LoadImag(data.DicomFileName);
count=ocxf.GetImages();
if(count==1)
{
strPath=(args as PathData).SaveJPath;
ocxf.SaveImageFile(strPath);
ocxf.DeleteallImage();
ocxf.Close();
ocxf.Dispose();
GC.Collect();
GC.Suppress.Finalize(ocxf);
}
else if (count>1)
{
string fileName=(args as PathData).SaveAPath;
string strPath=fileName+".avi";
ocxf.SaveAVIFile(strPath);
ocxf.DeleteallImage(); //调用这个 里面会报错
ocxf.Close();
ocxf.Dispose();
GC.Collect();
GC.Suppress.Finalize(ocxf);
}
else
{}
});
thread.SetApartmntState(System.Threading.ApartmentState.STA);
thread.Start(data);
while(isconvert)
{
System.Threading.Thread.Sleep(1000);
}
return strPath;
}private class PathData
{
public string DicomFileName;
pubilc string SaveJPath;
public string SaveAPath;
}}
另外一个类频繁调用ReturnPath方法,前面调用的几十个count=1的就没有问题,当走到count>1之后,里面的那个地方就报错了
ocxf.DeleteallImage(); //调用这个 里面会报错
是做什么的,count=ocxf.GetImages();count的值是怎么来的。
就给这么一小段代码又使用了其他的函数,别人也很难帮你找
我写了个测试demo 循环调用100次都没有问题