Юзерконтрол и компиляция.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Юзерконтрол и компиляция.

Сообщение kibernetics » 08.01.2007 (Пн) 13:18

Экскьюзми!
Скажите пожалуйста, я нашёл юзерконтрол, он состоит из Class Modules *.cls и User Conttrol *.ctl

Когда в своём проекте я пытался просто добавить эти файлы в проект, ВБ ругнулся, что модуль не может быть public в этом типе документа. И что он будет заменён на Private. После этого ничего не работает. Вставляю юзерконтрол на форму - ругается, что User-defined type not defined.
В общем, я решил в самом контроле просто добавить форму. тогда заработало. Но я бы хотел узнать, можно ли после Make EXE чтоб этот контрол какбы вмонтировался в ехешник, а то у меня получается, что вначале компилится ocx, а потом проект. И чтобы передать кому-то ехешник, нужно тягать с собой этот осх.
[/code]

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 08.01.2007 (Пн) 15:09

Как все запущено...

Могу только предложить показать проект.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Сообщение kibernetics » 08.01.2007 (Пн) 15:56

вот архив (20кб)
http://xe.at.tut.by/TVUserControl.rar

там получается сам контрол и проект1. у меня вопрос, как ЮК использовать в новом проекте?

Wolfie
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 213
Зарегистрирован: 06.03.2006 (Пн) 18:52
Откуда: Россия, Москва, СЗАО

Сообщение Wolfie » 08.01.2007 (Пн) 18:43

Ну правильно - у Вас же для UserControl - отдельный проект - вот он отдельно и компилируется
- переместите все содержимое проекта с контролом в проект с программой :)
Последний раз редактировалось Wolfie 08.01.2007 (Пн) 19:14, всего редактировалось 2 раз(а).
··•··•••··•··••·•·•·•···••·•••···•···•••·•··•·•··
C:\> per asper ad astra
'ASTRA' answer: Path 'ASPER' Not Found
684 Errare humanum est!
C:\> _

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Сообщение kibernetics » 09.01.2007 (Вт) 11:17

не перемещается. в том то и дело. выкидывает ошибки, что не верное объявление. типа вместо паблик надо приват. а после этого не работает. уже внутри самого ctl что-то якобы не объявлено...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 09.01.2007 (Вт) 12:05

kibernetics писал(а):не перемещается. в том то и дело. выкидывает ошибки, что не верное объявление. типа вместо паблик надо приват


Это правильно и не страшно.

kibernetics писал(а):. а после этого не работает. уже внутри самого ctl что-то якобы не объявлено...


Держи приложенный проект. Правда контролы на форме пришлось создавать заново -> им надо заново присваивать в свойствах рисунки. Сейчас ругается из-за этого. Это сделай сам.

Открывай само-собой Project1.vbp
Вложения
TVUserControl.rar
(23.86 Кб) Скачиваний: 32
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Сообщение kibernetics » 09.01.2007 (Вт) 13:26

Andrey Fedorov
да. спасибо, это то что нужно...
но я что-то не пойму, как указать в свойсвах рисунки? там же вроде стоит:
Код: Выделить всё
TreeBe1.Nodes.AddItem "C" & CStr(i), "Child3", "B" & CStr(i), TreeBe1.BackColor, vbBlack, Picture5


а Picture5 присутствует на форме. или там надо какие-то другие рисунки? для плюса-минуса например...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 09.01.2007 (Вт) 13:39

kibernetics писал(а):Andrey Fedorov
да. спасибо, это то что нужно...
но я что-то не пойму, как указать в свойсвах рисунки? там же вроде стоит:
Код: Выделить всё
TreeBe1.Nodes.AddItem "C" & CStr(i), "Child3", "B" & CStr(i), TreeBe1.BackColor, vbBlack, Picture5


а Picture5 присутствует на форме. или там надо какие-то другие рисунки? для плюса-минуса например...


Рисунки не на форме а в свойствах контрола. В твоем проекте их нет - надо их делать (или передрать со скриншота).

Смотри на приложенном рисунке где они задаются.
Вложения
ris.rar
(28.56 Кб) Скачиваний: 32
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Сообщение kibernetics » 09.01.2007 (Вт) 14:05

Спасибо Андрей.
Думаю, что вопрос исчерпан. Теперь всё должно получится. Ибо именно момент с PIC меня и волновал. После обеда попробую.

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Сообщение kibernetics » 09.01.2007 (Вт) 19:43

Блин, столкнулся опять с неприятным моментом:
Когда компилирую ехешник, то при запуске его на другой машине, он просит осх. Странно, специально хотел использовать юзерконтрол, чтоб не тягать с собой осх. Может что-то в проекте неправильно настроено? Типа, ссылка на осх есть, но сам-то исходник контрола в проекте?! Может он не может компилироваться внутри ехешника? А только как осх? Помогите разобраться.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 09.01.2007 (Вт) 21:19

kibernetics писал(а):Блин, столкнулся опять с неприятным моментом:
Когда компилирую ехешник, то при запуске его на другой машине, он просит осх. Странно, специально хотел использовать юзерконтрол, чтоб не тягать с собой осх. Может что-то в проекте неправильно настроено? Типа, ссылка на осх есть, но сам-то исходник контрола в проекте?! Может он не может компилироваться внутри ехешника? А только как осх? Помогите разобраться.


Ну кидай исходник текущего проекта - уже с проставленными свойствами рисунков. Ругаться не должен. Какой ocx-то требует?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

VB-constructor
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.07.2006 (Пн) 21:37
Откуда: Ростов-на-Дону

Сообщение VB-constructor » 09.01.2007 (Вт) 21:35

Если требует ocx, значит он у тебя не в юзерконтроле и не в проекте... а отдельно
Человек рождён для того, чтобы достичь жизни...

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Сообщение kibernetics » 10.01.2007 (Ср) 11:44

Извините за дезинфу. Разобрался. Я просто тупо скопировал модифицированные файлы Andrey Fedorov-ым, и не подумал, что они попадают в группу проектов, где раздельно ОСХ и сам проект. После экспериментов на базе предложенного Андреем варианта, всё заработало.


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

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

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

    TopList