2008-09-24 42 views
3

有沒有人使用過StarTeam COM API(特別是與C#集成)。Starteam 2005 COM API

我需要編寫一個幫助函數,它將返回一個目錄結構,但是我能夠使用此API檢索的所有視圖都是一個視圖列表。

有沒有其他人試過這個?

回答

2

中的StarTeam對象模型是heirachical,項目包含的看法,意見包含文件夾,文件夾中包含的項目(子文件夾,文件,CR的等)

所以一旦你有你的視圖列表,你可以得到屬於該文件夾視圖,那麼你有幾個屬性決定了它們如何映射到本地文件系統,視圖對象和文件夾對象都具有隻讀路徑屬性。還有其他4個感興趣的屬性,在DefaultPath和AlternatePath屬性以及文件夾對象DefaultPathFragment和AlternatePathFragment上查看視圖對象。

4

呵呵,完整性的利益,如果你不想寫的遞歸代碼瀏覽文件夾自己的heirachy,有一個輔助類,你可以用它來完成這個艱難的工作,你叫FolderListManager

void BtnFindClick(object sender, EventArgs e) 
{ 
    Borland.StarTeam.View v = StarTeamFinder.OpenView("username:[email protected]:49201/Project"); 
    FolderListManager lm = new FolderListManager(v); 
    lm.IncludeFolders(v.RootFolder,-1); // -1 means recursively add child folders 
    StringBuilder sb = new StringBuilder(); 
    foreach(Folder f in lm.Folders) 
    { 
     sb.AppendLine(f.Path); 
    } 
    txtResults.Text = sb.ToString(); 
} 
1

您不必使用COM訪問StarTeam API。有一個.NET版本的StarTeam SDK可用。

+1

.NET版本只是COM版本的一個包裝。 – FlySwat 2009-04-18 18:28:06