Как узнать о наличии обьекта?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
TifsSoft
Бывалый
Бывалый
 
Сообщения: 264
Зарегистрирован: 27.08.2002 (Вт) 2:34
Откуда: Ukraine

Как узнать о наличии обьекта?

Сообщение TifsSoft » 12.06.2003 (Чт) 14:05

Допустим у меня есть массив сокетов WS()
я делаю Load WS(1): Load WS(2)
Получается массив сокетов из 3-х элементов.
После этого я могу сделать Unload WS(1) - после этого будут доступны WS(0) и WS(2), а WS(1) станет недоступным, т.е. его существовать как бы небудет.
Так вот как можно узнать, существует ли обьект WS(n), не прибегая e on error... ?
-TifsSoft-

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 12.06.2003 (Чт) 16:13

Создать параллельно массив указателей. Если указатель равен Nothing, то сокета нет.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

TifsSoft
Бывалый
Бывалый
 
Сообщения: 264
Зарегистрирован: 27.08.2002 (Вт) 2:34
Откуда: Ukraine

Сообщение TifsSoft » 12.06.2003 (Чт) 22:50

Хм, а как создать массив указателей в VB ?
-TifsSoft-

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 13.06.2003 (Пт) 14:02

Dim SocketPointers(0 to 2) as WinSock
Load WS(1): WS(2)
Set SocketPointers(1) = WS(1)
Set SocketPointers(2) = WS(2)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

TifsSoft
Бывалый
Бывалый
 
Сообщения: 264
Зарегистрирован: 27.08.2002 (Вт) 2:34
Откуда: Ukraine

Сообщение TifsSoft » 14.06.2003 (Сб) 17:24

хм, но мне же нужно узнать наличие обьекта!
-TifsSoft-

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 14.06.2003 (Сб) 17:48

Проверь Ubound массив и посмотри, что она тебе вернет. Существовать будут все элементы массива, индекс котрых меньше или равен Ubound (SocketPointers).

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 14.06.2003 (Сб) 19:09

В MSDN к VB же есть пример работы с массивом сокетов!
Поищи WinSock в както примере к методу....
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 15.06.2003 (Вс) 6:42

Чел, ты бы мои два поста объединил в один, у свё понятно бы стало :wink:
Мы заполняем массив указателей (пост №2). Работаем с сокетами. Выгружаем произвольный сокет командой Unload. Сие действие автоматически ставит соответствующий указатель из массива в Nothing.
Так что, чтобы узнать есть ли сокет, нужно проверить, не равен ли Nothing указатель на него...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 21

    TopList  
cron