2013-06-30 24 views
-1

我想在源代码安全中将树形样式视图复制到我的应用程序的vb.net中......我已经添加了COM对象并连接到源安全数据库成功......我需要的是用Source Safe文件填充树视图的方法....填充它和其他必要信息的逻辑......任何人都可以帮助我?
我已经在我的表格中插入了树形视图 我已经为源安全添加了COM对象 我已经连接到源安全'srcsafe.ini'文件进行数据库连接 我知道我可以使用递归程序来获取所有文件在源安全
唯一的问题是我不知道源安全功能。我已经尝试了MSDN网站并阅读了有关源安全的所有属性。但我如何使用它们,需要一些例子。 关于源安全标志,当我从我的应用程序执行源安全功能时,需要对这些标志执行什么操作。 并且我怎样才能使用户的限制,如源安全到我的应用程序 ]VB.NET-尝试在树视图中填充vss文件

+0

你是什么意思的COM对象?这些COM对象是否与VSS通信?我使用VSS的唯一方法是通过GUI或命令行。如果您正在讨论第三方COM对象,那么您需要查看它的文档。如果你在谈论VSS本身,我不知道有什么方法可以在命令行之外以编程方式访问它。 – Tim

+0

是可与VSS,Microsoft Source Safe 8.0类型库进行通信的COM对象...我研究了它们中的文档和功能。我需要知道的是检查,检出,移动,删除等功能。如何操作其中的标志,我也想知道,如果我在VSS数据库中进行更改(如检出文件)它会在数据库中自动更新还是需要为它设置某种标志。 – Vidhyasaghar

+0

您可以提供您正在使用的文档的链接吗?在这方面,我没有从Google获得大量有意义的点击。另外,你使用的是什么版本的VSS? – Tim

回答

1

这是VSS自动化的文档。我有另一个链接,但它现在似乎被破坏了。

http://msdn.microsoft.com/en-us/library/bb509341(v=vs.80).aspx

要使用VSS工作,你会首先创建VSSDatabaseClass类的一个实例,并调用其Open方法:

Dim vssDatabase As String = "\\server\somepath\srcsafe.ini" 
Dim ssdb As new VSSDatabaseClass() 
ssdb.Open(vssDatabase, userName, password) 

,您将使用最频繁的get_VSSItem(这两种方法)和get_Items()。这些将返回一个单独的VSSItem(这是一个文件或项目)或一组项目。因此,要获得数据库的根项目,你可以使用如下代码:

Dim root As IVSSItem = ssdb.getVSSItem("$/", False) 

一个VSSItem的类型属性表示,如果该项目是一个项目或文件。如果是项目,您可以使用get_Items获取其子项:

If root.Type = 0 Then 'Type = 0 means it's a project 
    Dim items As IVSSItems = root.get_Items(False) 
    For Each item As IVSSItem In items 
     If item.Type = 0 Then 
      'item is a project 
     Else 
      'item is a file 
     End If 
    Next 
End If 

我希望这能让您开始。