Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Form и Module в OCX / 8 сообщений из 8, страница 1 из 1
04.09.2006, 17:20
    #33963058
Rustygold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Form и Module в OCX
Создал я OCX
В нем помимо CTL есть Form и Module
- в форме описана глобальная переменная Text (ну надо так)
- в модуле - hook

В своей аппликухе кладу на форму 1 контрол (MyC1)
Код: plaintext
1.
2.
MyC1.Text = "one"
MyC1.ShowMeText -> выдает "one"

Кладу второй (MyC2)
Код: plaintext
1.
2.
3.
MyC1.Text = "one"
MyC2.Text = "two"
MyC1.ShowMeText -> выдает !!! "two" !!!

Тестами установил, что два разных контрола MyC1 и MyC2 сохраняют Text в одном месте.

Как так, а ?
...
Рейтинг: 0 / 0
04.09.2006, 17:26
    #33963089
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Form и Module в OCX
переменная? т.е. не объект
т.е. указывает на объект (_ЕСЛИ вообще указывает_) т.е. указывают на один и тот же обхект

итого:
-указывают ли они на объект
-указывают ли они на разные объекты
...
Рейтинг: 0 / 0
04.09.2006, 17:34
    #33963123
Rustygold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Form и Module в OCX
Aklinпеременная? т.е. не объект
т.е. указывает на объект (_ЕСЛИ вообще указывает_) т.е. указывают на один и тот же обхект

итого:
-указывают ли они на объект
-указывают ли они на разные объекты

Кто указывает ?

внутри OCX есть frm
в ней:
public Text as String

в OCX:
Public Property Let Text(sText As String)
frm.Text = sText
End Property
...
Рейтинг: 0 / 0
04.09.2006, 17:35
    #33963125
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Form и Module в OCX
давай кусок модуля
...
Рейтинг: 0 / 0
04.09.2006, 17:38
    #33963131
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Form и Module в OCX
гы

тогда проверь связь между М1-ФОРМА-М2
по сабжу я смотрю, что форма одна получается, а не новая для каждого М*
...
Рейтинг: 0 / 0
04.09.2006, 17:38
    #33963132
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Form и Module в OCX
да и если ты определил, что они сохраняют текст в одном месте, то где?
...
Рейтинг: 0 / 0
05.09.2006, 10:16
    #33964153
Rustygold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Form и Module в OCX
Разобрался.

Короче говоря, если у вас в контроле только CTL, то всё работает как и должно и в основной проге вы можете использовать сколко угодно контролов

А если в контроле есть формы или модули, а у них глоб. переменные, то эти формы, модули и глоб. переменные будут общими для всех копий контрола в главном приложении.

Чтобы решить проблему нужно в каждом контроле работать со своей копией формы, а в модулях держать только функции.
...
Рейтинг: 0 / 0
05.09.2006, 14:20
    #33965230
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Form и Module в OCX
RustygoldА если в контроле есть формы или модули, а у них глоб. переменные, то эти формы, модули и глоб. переменные будут общими для всех копий контрола в главном приложении.


ну так ты 1 (одну) форму юзаешь, а не делаешь копии
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Form и Module в OCX / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]