我尝试编写一些代码来保存和关闭前7个图像,如下所示,但是当我执行代码时,DM仍然会询问“在关闭前保存对xxx的更改?我需要添加什么命令或代码然后代码可以自动保存前7个图像的更改,而无需任何弹出询问窗口。感谢
image temp:=getfrontimage()
string imgname=getname(temp)
string currentpath, currentdirectory
if(!SaveAsDialog("Save As",imgname,currentpath))exit(0)
currentdirectory=pathextractdirectory(currentpath,2)
number i
string newname, startstring
for(i=0; i<7; i++)
{
image front:=getfrontimage()
string imgname=getname(front)
string thispath=pathconcatenate(currentdirectory, imgname)
saveasgatan(front, thispath)
hideimage(front)
closeimage(front)
}
答案 0 :(得分:1)
如果要从内存中删除图像,可以删除而不是关闭它。以下内容删除最前面的图像而不提示:
image img := GetFrontImage()
DeleteImage( img )
最好知道图像对象是实际的数据数组,但 imageDocuments 是链接到文件和窗口的对象。因此它是需要的imageDocument类的命令。要关闭图像(或者说它的imageDocument)而不要求保存,您可以使用:
image img := GetFrontImage()
imageDocument iDoc = img.ImageGetOrCreateImageDocument()
iDoc.ImageDocumentClose( 0 ) // parameter is Boolean for "askToSave"
还有一个命令可以立即为您提供最前面的imageDocument,因此您也可以使用:
GetFrontImageDocument().ImageDocumentClose(0)