2014-10-20 124 views
0

下面的代碼會導致訪問衝突。誰能幫我這個。TeeChart中的訪問衝突

for(long i = nTools-1; i > 0 ; i--) 
{ 
    if(m_spGraph.GetTools().GetItems(i).GetToolType() == 25 && m_spGraph.GetTools().GetItems(i).GetAsRectangle().GetAllowDrag() == TRUE) // Rectangle tool 
    { 
     m_spGraph.GetTools().Delete(i); 
    } 
} 

感謝 阿克沙伊

回答

1

在VB6中,我辦這個,然後我打開一個編輯,我看到5個矩形工具和5個註釋工具:

TChart1.AddSeries scBar 
    TChart1.Series(0).FillSampleValues 8 

    Dim i As Integer 
    For i = 0 To 9 
    If (i Mod 2 = 0) Then 
     TChart1.Tools.Add tcRectangle 
    Else 
     TChart1.Tools.Add tcAnnotate 
    End If 
    Next i 

然後,如果我跑這然後我再次打開編輯器,我只看到5個註釋工具:

For i = TChart1.Tools.Count - 1 To 0 Step -1 
    If (TChart1.Tools.Items(i).ToolType = 25 And TChart1.Tools.Items(i).asRectangle.AllowDrag) Then 
     TChart1.Tools.Delete i 
    End If 
    Next i 

所以我我似乎在這裏工作得很好。
您是否嘗試過使用不同的TeeChart ActiveX版本?你們每個人都得到了不同的結果嗎?

請編輯您的問題並添加一個SSCCE,這樣我們就可以在這裏重現問題並嘗試計算代碼或組件中是否存在問題。