Трабл с UserControl

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

Трабл с UserControl

Сообщение DimPos » 10.07.2003 (Чт) 3:50

Вопр. такой:
В модуле:
Type Nametype
Varname1 as Typedata1
Varname2 as Typedata2
и т.д.
End type

А в Usercontrol:

Function()as Nametype

End Function
или
Sub()as Nametype

End Sub

короче ни то ни другое не работает (мессага вылезает),хотя в обычном ЕХЕ этот номер прокатывает

Может кто знает как можно это сделать?-неужели нужно в модуле класса все прописывать?

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

Сообщение Cyrax » 10.07.2003 (Чт) 6:16

и как это называется?
а имя функции где?

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

Welcome to IRC

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

Сообщение GSerg » 10.07.2003 (Чт) 7:20

Это ограничение VB. Нельзя, чтобы функция-член класса возвращала параметр пользовательского типа, если только этот тип не описан в публичном модуле. Таковым считается только модуль из проекта activex exe или activex dll. Так что когда очень нужно такое, я создаю дополнительный проект activex dll и в нём описываю все типы. Маздай :(
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

DimPos
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 15.11.2002 (Пт) 17:24
Откуда: Киров

Сообщение DimPos » 10.07.2003 (Чт) 18:41

Но в этом случае к ocx файлу нужно еще и цеплять dll, а хотелось бы обойтись одним ocx-ом - может быть есть другие варианты?

cyrax - имя функции может быть любым - не в этом вопрос, с Sub я и в самом деле ошибся - я имел ввиду Property

В идеале мне нужно сделать свойство наподобие Font
то есть скажем обращение к размеру выглядит
ControlName.Font.Size=...
только у меня будет
ControlName.TypeName.Var1=...
вот тока не знаю как бы это сделать...

GoGosha
Постоялец
Постоялец
 
Сообщения: 642
Зарегистрирован: 02.08.2002 (Пт) 9:14
Откуда: Russia

Сообщение GoGosha » 10.07.2003 (Чт) 18:46

DimPos писал(а):Но в этом случае к ocx файлу нужно еще и цеплять dll, а хотелось бы обойтись одним ocx-ом - может быть есть другие варианты?

cyrax - имя функции может быть любым - не в этом вопрос, с Sub я и в самом деле ошибся - я имел ввиду Property

В идеале мне нужно сделать свойство наподобие Font
то есть скажем обращение к размеру выглядит
ControlName.Font.Size=...
только у меня будет
ControlName.TypeName.Var1=...
вот тока не знаю как бы это сделать...


Имя почти какое угодно но оно должно присутствовать

DimPos
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 15.11.2002 (Пт) 17:24
Откуда: Киров

Сообщение DimPos » 10.07.2003 (Чт) 23:00

сиракс не будь снобом, спрашивал я не о том какое имя должно быть у функции

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

Сообщение GSerg » 11.07.2003 (Пт) 4:42

Объявляй проперть как stdfont
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

DimPos
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 15.11.2002 (Пт) 17:24
Откуда: Киров

Сообщение DimPos » 11.07.2003 (Пт) 19:11

GSerg читай внимательнее - я знаю как проперть объявить если нужен font
мне нужно объявить проперть наподобие stdfont то есть при использовании контрола обращение из использующей программы выглядело так же, как выглядит обращение к stdfont, но тип данных при этом должен быть таким каким мне нада
ControlName.TypeName.Var1=...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 12.07.2003 (Сб) 9:35

Используй классы вместо типов. И будет тебе счастье.
Lasciate ogni speranza, voi ch'entrate.

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

Сообщение Sebas » 13.07.2003 (Вс) 10:15

Public Type Nametype
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

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

Сообщение GSerg » 14.07.2003 (Пн) 4:28

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

GoGosha
Постоялец
Постоялец
 
Сообщения: 642
Зарегистрирован: 02.08.2002 (Пт) 9:14
Откуда: Russia

Сообщение GoGosha » 14.07.2003 (Пн) 9:45

DimPos писал(а):Но в этом случае к ocx файлу нужно еще и цеплять dll, а хотелось бы обойтись одним ocx-ом - может быть есть другие варианты?

cyrax - имя функции может быть любым - не в этом вопрос, с Sub я и в самом деле ошибся - я имел ввиду Property

В идеале мне нужно сделать свойство наподобие Font
то есть скажем обращение к размеру выглядит
ControlName.Font.Size=...
только у меня будет
ControlName.TypeName.Var1=...
вот тока не знаю как бы это сделать...


Public Prop As IFontDisp

DimPos
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 15.11.2002 (Пт) 17:24
Откуда: Киров

Сообщение DimPos » 14.07.2003 (Пн) 19:24

Alibek пасиб - уже использую
Слушайте, из вас получились классные флудильщики :? , если не сказать больше...


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

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

Сейчас этот форум просматривают: PetalBot, The trick и гости: 7

    TopList