Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Реагирование на паузу Добавлено: 24.06.10 11:59  

Автор вопроса:  Филюс | Web-сайт: filyus.ru | ICQ: 7116156 
Цель сего: сделать чтобы программа смогла реагировать на паузу.

В цикле выводится что-то подобное:
Object: !{0002E100-0000-0000-C000-000000000046}
  Window: Project1 - Microsoft Visual Basic [design] - [Module1 (Code)]


Но почему-то находит только один открытый проект, да и то, не текущий. Может кто знает как не из Add-in получить объект VBIDE.VBE текущего проекта или как из Add-in передать VBIDE.VBE (или события BuildEvents) в сам проект?

DefLng N: DefStr S
Private WithEvents BuildEvents As VBBuildEvents
Private Sub Form_Load()
  Dim pVBE As VBIDE.VBE, pEvents2 As Events2
  Dim ctx As IBindCtx, pROT As IRunningObjectTable
  Dim pEnumMoniker As IEnumMoniker, pMoniker As IMoniker
  Set ctx = CreateBindCtx()
  Set pROT = ctx.GetRunningObjectTable
  Set pEnumMoniker = pROT.EnumRunning
  pEnumMoniker.Reset
  pEnumMoniker.Next 1, pMoniker
  Do Until pMoniker Is Nothing
    nStr = pMoniker.GetDisplayName(ctx, pMoniker)
    s = TrimNull(SysAllocStringLen(nStr, 460))
    Debug.Print "Object: "; s
    If TypeOf pROT.GetObject(pMoniker) Is VBIDE.VBE Then
      Set pVBE = pROT.GetObject(pMoniker)
      Debug.Print "  Window: "; pVBE.MainWindow.Caption
      Set pEvents2 = pVBE.Events
      Set BuildEvents = pEvents2.VBBuildEvents
    End If
    pEnumMoniker.Next 1, pMoniker
  Loop
End Sub
Private Sub BuildEvents_EnterDesignMode()
  Debug.Print "Design Mode"
End Sub
Private Sub BuildEvents_EnterRunMode()
  Debug.Print "Enter Run Mode"
End Sub
Private Function TrimNull(s) As String
  n = InStr(s, Chr$(0))
  If n <> 0 Then
    TrimNull = Left$(s, n - 1)
  Else
    TrimNull = s
  End If
End Function

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #1
Добавлено: 24.06.10 14:25
Я делал подобную фичу года два назад. Но исходников нету точно. На одном из буржуйских форумов есть наводка на сабж, но, опять же, не помню где. Только вот интересно, зачем оно тебе понадобилось?

Ответить

Номер ответа: 2
Автор ответа:
 Филюс



ICQ: 7116156 

Вопросов: 3
Ответов: 14
 Web-сайт: filyus.ru
 Профиль | | #2
Добавлено: 24.06.10 14:37
Надо чтобы можно было без крахов IDE управлять потоками и памятью.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам