Вопрос по ActiveX (знаю,что есть отдельный форум,но суховат)

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
vik
Новичок
Новичок
 
Сообщения: 33
Зарегистрирован: 23.03.2003 (Вс) 17:15

Вопрос по ActiveX (знаю,что есть отдельный форум,но суховат)

Сообщение vik » 28.04.2003 (Пн) 15:41

Для начала прошу извенения что здесь, знаю ,что есть отдельный форум, но очень суховат, а мне очень нужно и как можно быстрее.
Зарание всем спасибо.
Вопрос:
Есть ActiveX с объектом. Сама форма , которая в ActiveX невидима (Form1.Visible=False).
в своей проге вызываю массив этих ActiveX-ов, но почему-то у меня на экране появляется целая куча сереньких квадратиков, при вызове массива. Такое впечатление что Visible=False действует только на первый эллемент массива , да и то не всегда.
Что делать?
И второй вопрос (извените если глупый) :oops: , но может есть способ передать данные из ActiveX?
Например передать string из ActiveX в функцию которая находится в проге ?

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 28.04.2003 (Пн) 15:52

что я первый вопрос не понял. поточнее сформулируй.

а на счет передачи данных из Activex, так это посредством свойств объекта. создаешь в контроле свойство и делай с ним чё хошь... хошь в функции передавай, а хошь на хлеб намазывай :) (шутка...)
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

vik
Новичок
Новичок
 
Сообщения: 33
Зарегистрирован: 23.03.2003 (Вс) 17:15

Сообщение vik » 28.04.2003 (Пн) 16:35

Насчет второго вопроса если можно пример, пожалуйста.
Вообще то уменя вActivex сидит обычный контроль MSComm? Поэтому не могу обозначить свойства которые к нему не имеют отношения (только его же свойства) .С этим всё нормально, работает. Но мне еще по мимо этого нужно передавать данные не имеющие отношения к MSComm. Например сообщения которые посылаются в функцию

А насчет первого мне нужен Activex но невидемый без формы .
У меня есть Activex с MSComm. Но видеть мне его не надо , а у меня получается что на экране видна форма на которой стоит этот MSComm.
Просто серый квадратик. Form1.Visible=False в самом Activex не действует , или частично (только на один Activex из 16 существующих в массиве и вызываемых в проге).

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 28.04.2003 (Пн) 17:06

1. У ActiveX есть св-во InvisibleAtRuntime. Установи его в True и будет тебе счастье.

2. Создай собственное св-во
Код: Выделить всё
Private msMyProperty As String

Public Property Get MyProperty As String
    MyProperty = msMyProperty
End Property


ActiveX объект в нужном месте инициализирует переменную msMyProperty, а головная программа в нужном месте вычитывает значение из св-ва myActiveX.MyProperty

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 28.04.2003 (Пн) 17:27

еще вот тут посмотри. 10 не плохих уроков по созданию Activex Controls.
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

vik
Новичок
Новичок
 
Сообщения: 33
Зарегистрирован: 23.03.2003 (Вс) 17:15

Сообщение vik » 28.04.2003 (Пн) 17:42

skiperski писал(а):1. У ActiveX есть св-во InvisibleAtRuntime. Установи его в True и будет тебе счастье.

Извените пожалуйста, но у меня не User control а простой ActiveX:oops:
Последний раз редактировалось vik 28.04.2003 (Пн) 17:49, всего редактировалось 1 раз.

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 28.04.2003 (Пн) 17:49

При разработке ActiveX активируй форму и смотри в окне Properties (F4)

vik
Новичок
Новичок
 
Сообщения: 33
Зарегистрирован: 23.03.2003 (Вс) 17:15

Сообщение vik » 28.04.2003 (Пн) 17:56

Ни чего не получается у меня не ActiveX Control а простой ActiveX exe :oops: .
ActiveX Control для моих целей не подходит

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 28.04.2003 (Пн) 18:09

Тогда просто при создании массива контролов попробуй их просто скрывать .Visible = False

vik
Новичок
Новичок
 
Сообщения: 33
Зарегистрирован: 23.03.2003 (Вс) 17:15

Сообщение vik » 28.04.2003 (Пн) 18:50

Не получается. Не возможно выставить свойства которых не существует.
Может есть ещё какое нибудь решение? Очень Нужно, пожалуйста.

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 28.04.2003 (Пн) 18:55

vik писал(а):Не получается. Не возможно выставить свойства которых не существует.

Ну так создай это свойство.
Код: Выделить всё
Public Proprty Get Visible As Boolean
    Visible = Me.Visible
End Property

Public Proprty Let Visible(ByVal newValue As Boolean)
    Me.Visible = newValue
End Property


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 64

    TopList