关于AE的IRasterDataset.Copy问题
语言是C#,部分代码如下:
public static void generate_random_image(string FileFullName)
{
IWorkspace pWS;
IRasterDataset p_RD;
IRasterDataset p_CR;
string sPath=FilePath(FileFullName);
string sName=FileName(FileFullName);
p_RD=OpenRasterDataset(sPath,sName);
pWS=SetRasterWorkspace(sPath);
p_CR=(IRasterDataset)p_RD.Copy ("temp_random.tif",(IWorkspace)pWS);
}
第一次调用没问题,但是在第二次调用时,总是会报“未指定的错误”,后来检查了一下程序,发现当存在已temp_random.tif时会报
错,所以就在Copy之前加了如下语句,以删掉它:
if(File.Exists (tPath))
{
IDataset pDS = (IDataset)OpenRasterDataset(sPath,"temp_random.tif" );
pDS.Delete ();
pDS=null;
}
但是当temp_random.tif被当做图层加到MapControl里之后,它就被程序独占了。在重复执行generate_random_image时,由于之前的独占,这个tif图无法被删除,所以运行到pDS.Delete ()后还是报错,请问这该怎么办?