阅读:1091回复:1
vb + max紧缩表 问题
<P>Dim lyr As Layer
Dim ds As Dataset Dim filespec As String Dim layername As String Set lyr = mfrmMain.Mapconl.Layers("yy") Set ds = mfrmMain.Mapconl.DataSets.Add(6, lyr) Dim LayerInfo As New LayerInfo '获取被紧缩表的路径及表名 filespec = mfrmMain.Mapconl.Layers.Item("yy").filespec layername = lyr.Name '将表临时存放于内存 Dim LayerInfoObject As New LayerInfo LayerInfo.Type = 6 'miLayerInfoTypeTemp LayerInfo.AddParameter "TableStorageType", "MemTable" '临时文件保存在磁盘上还是内存。 LayerInfo.AddParameter "Name", "lyrpack" LayerInfo.AddParameter "Fields", ds.Fields LayerInfo.AddParameter "Features", lyr.AllFeatures mfrmMain.Mapconl.Layers.Add LayerInfo, 1 Set LayerInfo = Nothing '从地图窗口删除原表 mfrmMain.Mapconl.DataSets.Remove (ds.Name) mfrmMain.Mapconl.Layers.Remove (lyr.Name) mfrmMain.Mapconl.Refresh Set lyr = Nothing Set ds = Nothing Set lyr = mfrmMain.Mapconl.Layers("lyrpack") Set ds = mfrmMain.Mapconl.DataSets.Add(6, lyr) '从磁盘删除原表 Kill filespec</P> <P>LayerInfo.Type = 7 'miLayerInfoTypeNewTab LayerInfo.AddParameter "filespec", filespec LayerInfo.AddParameter "Name", layername LayerInfo.AddParameter "Fields", ds.Fields LayerInfo.AddParameter "Features", lyr.AllFeatures mfrmMain.Mapconl.Layers.Add LayerInfo, 1</P> <P>'从地图窗口删除临时表 mfrmMain.Mapconl.DataSets.Remove (ds.Name) mfrmMain.Mapconl.Layers.Remove (lyr.Name) mfrmMain.Mapconl.Refresh '注意: Set ds = Nothing Set lyr = Nothing Set LayerInfo = Nothing为什么我的程序在执行时,提示我yy图曾已经打开不能创建???</P> <P>请教高人</P> |
|