Что я делаю не так? (Delphi)

0 голосов
спросил 20 Июль, 04 от Гость (210,080 баллов) в категории Программные продукты Esri

Помогите люди добрые image

Данная процедура добавляет слой в ArcView 8.2 и открывает Shape, но это получается пустой слой.... Shape никак не хочет загружаться.... такой же пример на VBA открывает данный Shape влет...

Procedure OpenSomeShape;

var AliasName:WideString;
begin
    pWorkspaceFactory := CoShapefileWorkspaceFactory.Create As IWorkspaceFactory ;

    PropertySet := CoPropertySet.Create as IPropertySet;
    PropertySet.SetProperty('DATABASE', 'C:\ESRI\ESRIDATA\RUSSIA');
    pWorkSpaceFactory.Open(PropertySet,0, pWorkspace);
    pFeatureWorkspace := pWorkSpace As IFeatureWorkspace;
    pFeatureLayer := CoFeatureLayer.Create As IFeatureLayer;
    pFeatureWorkspace.OpenFeatureClass('mocities', pFeatureClass);
    pFeatureLayer._Set_FeatureClass(PFeatureClass);
    pFeatureLayer.Set_Visible(false);
    pFeatureClass.Get_AliasName(AliasName); <-- ЗДесь происходит Исключение AccessViolation


    pFeatureLayer.Set_Name(AliasName);
    m_pDoc.Get_ActiveView(pActiveView);
    pActiveView.Get_FocusMap(pMap);
    pMap.AddLayer(pFeatureLayer);
    pFeatureLayer.Set_Visible(true);
    pActiveView.Refresh;


  end;

3 Ответы

0 голосов
ответил 22 Июль, 04 от Andranic (2,620 баллов)

Какой версии Дельфи вы используете ?

Посмотрите вот эти ссылки:

https://forum.esri-cis.ru/index.php?qa=9504

https://forum.esri-cis.ru/index.php?qa=8661

0 голосов
ответил 26 Авг, 04 от Гость (210,080 баллов)

Скорее всего, у Вас библиотека типов импортировалась с ошибками. Это для Делфи типичная ситуация. Нужно эти ошибки исправить и все заработает.

0 голосов
ответил 07 Окт, 04 от grdmn (240 баллов)

Может функция pFeatureWorkspace.OpenFeatureClass('mocities', pFeatureClass) возвращает pFeatureClass=nil;

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