InMemoryWorksapce の取得方法

投稿日:2016/9/1 (木) 更新日:

'******************************************************************************
' 定義      :Private Function GetInMemoryWorkspace()
' 概要      :InMemoryWorkspaceの取得
' 備考      :このWorkspaceではCreateFeatureDatasetやCreateQyeryDefは無効
' 第1引数   :String         Workspace名
' 第2引数   :Boolean        (オプション デフォルト値:True)InMemoryWorkspaceを新規作成するかどうか
' 第3引数   :IPropertySet   (オプション デフォルト値:Nothing)DBMSへの接続情報
' 第4引数   :Long           (オプション デフォルト値:0)ウィンドウ ハンドル
' 戻り値    :IWorkspace     Workspace
'******************************************************************************
Private Function GetInMemoryWorkspace(Name As String, Optional Create As Boolean = True, Optional ConnectionProperties As IPropertySet = Nothing, Optional hWnd As Long = 0) As IWorkspace
    Dim pWorkspaceFactory As IWorkspaceFactory
    Dim pName As IName
    Set pWorkspaceFactory = New InMemoryWorkspaceFactory
     
    If Create = True Then
        Set pName = pWorkspaceFactory.Create("", Name, ConnectionProperties, hWnd)
        Set GetInMemoryWorkspace = pName.Open
    Else
        Set GetInMemoryWorkspace = pWorkspaceFactory.Open(ConnectionProperties, hWnd)
    End If
     
End Function

関連記事

-プログラミング, ArcGIS
-, ,

Copyright© WINGFIELD since1981 , 2018 All Rights Reserved.