Страница: 1 | 2 |
Вопрос: Как правильно установить свойства в User Control
Добавлено: 26.01.06 12:33
Автор вопроса: старик
Помогите, пожалуйста, начинающему программисту.
Ориентируясь на учебник по VB6, содал User Control на основе стандартного TextBox.
При попытке создать свойства DataField и DataSource мое "произведение" ругается.
Как сделать, чтобы заработало?
Ответы
Всего ответов: 16
Номер ответа: 1
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #1
Добавлено: 26.01.06 12:59
Код покажи немного..
Там у тебя скорее всего должно быть Prorerty Get/Property Set для чтения и установки свойств
Номер ответа: 2
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #2
Добавлено: 26.01.06 13:12
Сколько можно говорить всем - если ругается то уточняйте КАК!
Номер ответа: 3
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #3
Добавлено: 26.01.06 13:30
Вот тебе простейщее свойство, установить и прочитать значение в одном из текстбоксов твоего контрола можно например так:
Dim mNewValue As String
Public Property Get MyProperty() As String
mNewValue = Text1.Text
MyProperty = mNewValue
End Property
Public Property Let MyProperty(ByVal sNewValue As String)
Text1.Text = mNewValue
mNewValue = sNewValue
End Property
Public Sub UserControl_Initialize()
mNewValue = ""
End Sub
Номер ответа: 4
Автор ответа:
старик
Вопросов: 4
Ответов: 15
Профиль | | #4
Добавлено: 26.01.06 14:31
С этим, как раз, проблем нет. Как новый контрол подключить к базе (элемент Data), если не устанавливаются свойства для подключения?
Номер ответа: 5
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #5
Добавлено: 26.01.06 14:38
У тебя метод ADO или DAO? Не будешь кодом делиться, сообщениями об ошибках - никто тебе помочь не сможет. старик, а ты случайно не наш старый (Андрей)???
Номер ответа: 6
Автор ответа:
старик
Вопросов: 4
Ответов: 15
Профиль | | #6
Добавлено: 26.01.06 15:49
1. Причем метод, если у прообраза контрола (TextBox) это свойство присутствует, а сам контрол отказывается его воспринимать.
2. Код стандартный, сгенерированный мастером интерфейса -
-----------
'WARNING! DO NOT REMOVE OR MODIFY THE FOLLOWING COMMENTED LINES!
'MappingInfo=txtMod,txtMod,-1,DataSource
Public Property Get DataSource() As DataSource
Set DataSource = txtMod.DataSource
End Property
Public Property Set DataSource(ByVal New_DataSource As DataSource)
Set txtMod.DataSource = New_DataSource
PropertyChanged "ataSource"
End Property
-------------
При попытке вставить контрол в тестовую форму возникает сообщение:
-----------
Ошибка компиляции.
Определяемый Пользователем тип не определен
-----------
3. Может к сожалению, но я не Андрей, а старик - так это возраст у меня такой
Номер ответа: 7
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #7
Добавлено: 26.01.06 16:05
Опиши тип DataSource, ну примерно так..
Public Type DataSource
бла-бла-бла
End Type
Номер ответа: 8
Автор ответа:
старик
Вопросов: 4
Ответов: 15
Профиль | | #8
Добавлено: 26.01.06 17:12
Сделал так:
-------
Public Type DataSource
rst As Recordset
End Type
-------
Эффект тот-же.
Может переназначить тип DataSource на Recordset? Но я не знаю как.
Номер ответа: 9
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #9
Добавлено: 26.01.06 18:20
Как object...
Номер ответа: 10
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #10
Добавлено: 27.01.06 08:16
Я вообще-то не пользуюсь DataSource, толком тебе ничего не подскажу, может эта ссылка чем-то поможет?
http://www.vbnet.ru/forum/show.aspx?id=98244
Номер ответа: 11
Автор ответа:
старик
Вопросов: 4
Ответов: 15
Профиль | | #11
Добавлено: 27.01.06 09:05
Спасибо, милый, за "совет"
Номер ответа: 12
Автор ответа:
старик
Вопросов: 4
Ответов: 15
Профиль | | #12
Добавлено: 27.01.06 09:14
Уважаемый MC-Black, спасибо за внимание к вопросам начинающих.
В принципе любая задача решается N-ным количеством способов.
Хотелось сделать "по уму", а прийдется и заполнять поля и отслеживать изменения вручную.
Номер ответа: 13
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #13
Добавлено: 27.01.06 10:57
А так, как GSerg советует ты попробовал?
Set DataSource = txtMod.DataSource
End Property
Public Property Set DataSource(ByVal New_DataSource As Object)
Set txtMod.DataSource = New_DataSource
PropertyChanged "ataSource"
End Property
Номер ответа: 14
Автор ответа:
старик
Вопросов: 4
Ответов: 15
Профиль | | #14
Добавлено: 27.01.06 19:58
Спасибо, обязательно попробую.
О результатах сообщу.
Всего хорошего!
Номер ответа: 15
Автор ответа:
старик
Вопросов: 4
Ответов: 15
Профиль | | #15
Добавлено: 30.01.06 10:40
Попробовал. В результате мой контрол безболезненно помещается на тестовую форму.
Но у него напрочь отсутсвует свойство DataSource.