⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simplepointworkspacehelper.cls

📁 COM编程接口处理方法 多个方法调用COM库函数
💻 CLS
字号:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "SimplePointWorkspaceHelper"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Option Explicit

Implements IPlugInWorkspaceHelper
Implements ISimplePointWorkspaceHelper

Dim m_sWorkspacePath As String

Private Property Get IPlugInWorkspaceHelper_OIDIsRecordNumber() As Boolean
  IPlugInWorkspaceHelper_OIDIsRecordNumber = True
End Property

Private Property Let ISimplePointWorkspaceHelper_WorkspacePath(ByVal sWorkspacePath As String)
  m_sWorkspacePath = sWorkspacePath
End Property

Private Property Get IPlugInWorkspaceHelper_DatasetNames(ByVal DatasetType As esriCore.esriDatasetType) As esriCore.IArray

  Dim pArray As esriCore.IArray
  Set pArray = New esriCore.Array
  
  Dim pPlugInDatasetInfo As IPlugInDatasetInfo
  Dim pSimplePointDataset As ISimplePointDatasetHelper
  
  Dim pFSO As Object
  Dim pFolder As Object
  Dim pFiles As Object
  Dim pFile As Object
  Set pFSO = CreateObject("Scripting.FileSystemObject")
  Set pFolder = pFSO.GetFolder(m_sWorkspacePath)
  Set pFiles = pFolder.Files
  
  ' For each appropriate file
  '   Create and initialize the dataset helper object
  '   Add the pointer to the array
  For Each pFile In pFiles
    If LCase(Right(pFile.Name, 4)) = g_sFileExtension Then
      Set pPlugInDatasetInfo = New SimplePointDatasetHelper
      Set pSimplePointDataset = pPlugInDatasetInfo
      pSimplePointDataset.DatasetName = Left(pFile.Name, Len(pFile.Name) - 4)
      pSimplePointDataset.WorkspacePath = m_sWorkspacePath
      If (DatasetType = esriDTAny Or _
          DatasetType = pPlugInDatasetInfo.DatasetType) Then
        pArray.Add pPlugInDatasetInfo
      End If
    End If
  Next
  
  Set IPlugInWorkspaceHelper_DatasetNames = pArray
End Property

Private Property Get IPlugInWorkspaceHelper_NativeType(ByVal DatasetType As esriCore.esriDatasetType, ByVal localName As String) As esriCore.INativeType
  Set IPlugInWorkspaceHelper_NativeType = Nothing
End Property

Private Function IPlugInWorkspaceHelper_OpenDataset(ByVal localName As String) As IPlugInDatasetHelper
  ' Check if the dataset is valid
  Dim pFSO As Object
  Set pFSO = CreateObject("Scripting.FileSystemObject")
  If Not pFSO.FileExists(m_sWorkspacePath & "\" & localName & g_sFileExtension) Then
    Set IPlugInWorkspaceHelper_OpenDataset = Nothing
    Err.Raise E_FAIL, , "Dataset does not exist: " & localName
    Exit Function
  End If
  
  ' Create the dataset helper object
  Dim pSimplePointDataset As ISimplePointDatasetHelper
  Set pSimplePointDataset = New SimplePointDatasetHelper
  pSimplePointDataset.DatasetName = localName
  pSimplePointDataset.WorkspacePath = m_sWorkspacePath
  
  Set IPlugInWorkspaceHelper_OpenDataset = pSimplePointDataset ' Inline QI
End Function

Private Property Get IPlugInWorkspaceHelper_RowCountIsCalculated() As Boolean
  IPlugInWorkspaceHelper_RowCountIsCalculated = True
End Property

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -