Нужно стереть только,что созданный растер

0 голосов
спросил 10 Апр, 06 от vig11 (2,220 баллов) в категории Программные продукты Esri
При повторном создании растера с одним и тем же именем программа даёт ошибку. Чтобы избежать этого, - мне нужно стереть уже созданный растер с диска. И тут возникает проблемма. Растер создаётся в формате Grid. Все файлы и директории стираются без проблем за исключением файла с расширением AUX. Компьютер сообщает, что этот файл используется в текущем процессе и не может быть стёрт (при перезапуске ArcMap, - он стирается без проблем). Попробовал использовать обьекты IGxObject и IGxObjectEdit. Та же проблемма. Не может стереть растер пока не перезагружу ArcMap. Что делать? Мне нужно дать пользователю возможность без перезагрузки ArcMap повторно создавать растер с уже существующим именем и открытым в ArcMap.

6 Ответы

0 голосов
ответил 10 Апр, 06 от Alexander1 (32,520 баллов)

Try this:

http://forums.esri.com/Thread.asp?c=93&f=992&t=13888 9&mc=2#msgid403673

Option Explicit
Sub Test()
    Dim pGxCat As IGxCatalog
    Set pGxCat = New GxCatalog
    
    Dim v As Variant, lFound As Long
    On Error Resume Next
    Set v = pGxCat.GetObjectFromFullName("D:\myimage4.jpg", lFound)
    On Error GoTo 0
    pGxCat.Close
    
    If VarType(v) = vbDataObject Then
        If TypeOf v Is IGxObjectEdit Then
            Dim pGxObjEdit As IGxObjectEdit
            Set pGxObjEdit = v
            If pGxObjEdit.CanDelete Then
                pGxObjEdit.Delete
                Debug.Print "deleting"
            Else
                Debug.Print "cannot delete"
            End If
        Else
            Debug.Print "probably an IEnumGxObject"
        End If
    Else
        Debug.Print "nothing found"
    End If
End Sub
0 голосов
ответил 10 Апр, 06 от vig11 (2,220 баллов)
Ну я примерно так и сделал. Только на строчке
pGxObject.Delete получаю сообщение "unspecified error". И стереть растер не получается. Я уже даже стирал слой из ArcMap, но и это не помогает.
0 голосов
ответил 10 Апр, 06 от Alexander1 (32,520 баллов)

Check that thread:

http://forums.esri.com/Thread.asp?c=93&f=1727&t=1857 04&mc=1

"...You must remove it from the TOC first otherwise it will fail to delete..."

 

0 голосов
ответил 11 Апр, 06 от vig11 (2,220 баллов)
Не помогает. Та же ошибка, - "Unspecified error"
0 голосов
ответил 14 Апр, 06 от Alexander1 (32,520 баллов)

"...you need to be sure to release all references to the RasterDataset and RasterWorkspace..." :

http://forums.esri.com/Thread.asp?c=93&f=993&t=18136 4&mc=1#msgid534717

0 голосов
ответил 19 Апр, 06 от Гость (210,080 баллов)

Помогает одно физически удалить созданный растровый файл и подчистить все что с ним связано, перед удалением не забыть удалить слой из ArcMap

Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...