Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Объект существует??? VB6 Добавлено: 22.10.09 20:48  

Автор вопроса:  oi
Как проверить существует ли Объект???
Например: Command1 VB6

Ответить

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

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



Вопросов: 80
Ответов: 476
 Профиль | | #1 Добавлено: 22.10.09 20:55
Сушшествует где? В нашем мире, или в параллельном?

Ответить

Номер ответа: 2
Автор ответа:
 maza_____



ICQ: 9968842 

Вопросов: 40
Ответов: 337
 Web-сайт: vkontakte.ru/id25563295 добавляйтесь в друзья))
 Профиль | | #2
Добавлено: 22.10.09 21:06
если что то не существует) обращайся к нему и получишь исключение

Ответить

Номер ответа: 3
Автор ответа:
 Arvitaly



ICQ: 301746136 

Вопросов: 28
Ответов: 549
 Web-сайт: okazani.ru
 Профиль | | #3
Добавлено: 22.10.09 22:11
Думаю так

  1.  
  2. Private Sub Form_Load()
  3. If isFind("cOmMaNd1") Then
  4.     MsgBox "Элемент существует"
  5. Else
  6.     MsgBox "Элемент не существует"
  7. End If
  8. End Sub
  9. Function isFind(findControl As String)
  10.     Dim Cl As Control
  11.     isFind = False
  12.     For Each Cl In Me.Controls
  13.         If (LCase(Cl.Name) = LCase(findControl)) Then isFind = True: Exit For
  14.     Next
  15. End Function

Ответить

Номер ответа: 4
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #4 Добавлено: 29.10.09 17:34
Arvitaly, а перебор для чего?
Me.Controls(Name) & On Error

Ответить

Номер ответа: 5
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #5
Добавлено: 29.10.09 18:13
  1.  
  2. Function ObjectExits(objSubject As Object) As Boolean
  3. On Error GoTo er
  4. Dim S As String
  5. S = objSubject.Name
  6. ObjectExits = True
  7. er:
  8. End Sub

Ответить

Номер ответа: 6
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #6
Добавлено: 29.10.09 18:17
VBDUnit, и как ты собрался передать несуществующую ссылку на несуществующий объект?=)

Вообще непонятна конечная цель всей этой темы.

Ответить

Номер ответа: 7
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #7
Добавлено: 29.10.09 18:52
Да, точно.

  1.  
  2. Function ObjectExits(objSubject) As Boolean
  3. On Error GoTo er
  4. Dim S As String
  5. S = objSubject.Name
  6. ObjectExits = True
  7. er:
  8. End Sub

Ответить

Номер ответа: 8
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #8 Добавлено: 30.10.09 11:04
Это че такое?
VBDUnit, для твоей темы есть is nothing.
Если вопрос узнать есть ли контрол по имени - Me.Controls("Имя";). В случае отсутсвия - Err.

Ответить

Номер ответа: 9
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #9
Добавлено: 30.10.09 20:05
VBDUnit, LamerOnLine, да что ж вы говорите. Как проверить is nothing или передать в функцию не существующую ссылку? Исполнятор кода в обоих случаях скажет Variable not defined.

Ответить

Номер ответа: 10
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #10
Добавлено: 31.10.09 15:12
У меня ниче не гавкал. Видемо из-за отсутствия Option Explicit

Ответить

Номер ответа: 11
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #11 Добавлено: 01.11.09 01:05
VBDUnit пишет:
Видемо из-за отсутствия Option Explicit

Мужик!

Ответить

Номер ответа: 12
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #12 Добавлено: 01.11.09 03:10
:-D

Ответить

Номер ответа: 13
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #13 Добавлено: 02.11.09 16:45
Мужики, вы тут чего курите?
Во-первых, я не понял зачем вообще передавать что-то кроме имени контрола (судя по постановке задачи). То есть либо человек хочет узнать есть ли контрол "Command1" на форме - либо хз чего он хочет...
Во вторых, в чем проблема передать пустой указатель? И вернуть его?
по сути
  1.  
  2. Option Explicit
  3.  
  4. Private Sub Command1_Click()
  5. Dim ctlObject As Control
  6. Set ctlObject = GetControlByName("Command1")
  7. If ctlObject Is Nothing Then
  8.     MsgBox "Control not exist"
  9. Else
  10.     MsgBox TypeName(ctlObject)
  11. End If
  12. End Sub
  13.  
  14. Private Function GetControlByName(ByRef strControlName As String) As Control
  15.     On Error Resume Next
  16.     Set GetControlByName = Me.Controls(strControlName)
  17. End Function

где "Command1" - имя любого контрола на форме

Ответить

Номер ответа: 14
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #14
Добавлено: 02.11.09 19:08
LamerOnLine, да мы тут не пустые, а не существующие указатели передаём=) It's fun!))

Ответить

Номер ответа: 15
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #15 Добавлено: 02.11.09 21:10
LamerOnLine, да мы тут не пустые, а не существующие указатели передаём

Ну дык я потому и спрашиваю:
Мужики, вы тут чего курите?

Ответить

Страница: 1 |

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



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