Страница: 1 | 2 |
Вопрос: какая максимальная длина кода в VB
Добавлено: 22.05.07 12:59
Автор вопроса: Dima
Private Sub Command1_Click()
примерно 2000 cтрок
End Sub
все работает
добавляю код
if then
end if
выдает ошибку
Compile error:
Procedure too large
помогите что можно сделать.
Ответы
Всего ответов: 21
Номер ответа: 1
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #1
Добавлено: 22.05.07 13:20
Научиться правильно разносить всё по модулям, формам, процедурам и функциям. 2000 строк кода в рутине CommandButton_Click() говорит о явных проблемах с архитектурой.
Номер ответа: 2
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #2
Добавлено: 22.05.07 13:25
Разбей на две.
примерно 1000 cтрок
Call AnotherOne
End Sub
Private Sub AnotherOne()
еще примерно 1000 cтрок
End Sub
Номер ответа: 3
Автор ответа:
Dima_kru
Вопросов: 0
Ответов: 1
Профиль | | #3
Добавлено: 22.05.07 13:54
Когда я перехожу по команде Call
Private Sub AnotherOne()
то у меня в этом модуле пропадают все переменные
End Sub
Номер ответа: 4
Автор ответа:
Arvitaly
ICQ: 301746136
Вопросов: 28
Ответов: 549
Web-сайт:
Профиль | | #4
Добавлено: 22.05.07 14:29
передавай в процедуру переменные или объяви общими,
Private Sub AnotherOne(var as var,var2 as var)
Номер ответа: 5
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #5
Добавлено: 22.05.07 14:35
В начале формы ппоставь Option Explicit
И определяй переменные, которые в обоих процедурах требуются, как глобальные
Private lngH As Long
Private Sub Command1_Click()
'примерно 1000 cтрок
lngH = 10
Call AnotherOne
End Sub
Private Sub AnotherOne()
MsgBox lngH
'еще примерно 1000 cтрок
End Sub
Номер ответа: 6
Автор ответа:
Silver Ferrum
ICQ: 422640045
Вопросов: 12
Ответов: 144
Профиль | | #6
Добавлено: 22.05.07 16:02
ого.. 2000 строк водной процедуре 0_о ... Как это?.. Создай модули, пообьявляй там глоб. переменные.. и всё будет пучком..
Номер ответа: 7
Автор ответа:
D o c a l
ICQ: 408802757
Вопросов: 76
Ответов: 985
Web-сайт:
Профиль | | #7
Добавлено: 22.05.07 17:10
А напиши пожалуста первых 10 строк кода.А вобще если ты хочеш делать 2000 при какомто условие. Тогда делай так.If условие=true then command1_click
Номер ответа: 8
Автор ответа:
Страшный Сон
Вопросов: 46
Ответов: 848
Профиль | | #8
Добавлено: 22.05.07 23:50
Да, предельный размер процедуры в VB - всего лишь 64 кб. Так что разбивать надо. Насчёт модуля проблем не возникало - у моей (всё ещё находящейся в разработке) проги главный модуль из 53686 строк и весом в 1.94 Мб компилируется хоть и долго, но всё же компилируется.
Номер ответа: 9
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #9
Добавлено: 23.05.07 00:08
фигасе... чё ж эта прога делает? Не картинки поворачивает наверное
Номер ответа: 10
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #10
Добавлено: 23.05.07 08:49
Это, наверное, в помощь Бранду, ядро оси на VB
Номер ответа: 11
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #11
Добавлено: 23.05.07 13:13
Ага, переписанный NotePad
Номер ответа: 12
Автор ответа:
Страшный Сон
Вопросов: 46
Ответов: 848
Профиль | | #12
Добавлено: 23.05.07 20:07
Ну, это она тоже делает. Если на клаве чит TILTTILTTILT набрать. Хотя предназначена для другой цели. Прога LEBuild называется. Фич там всяких выше крыши. Третий год её пишу (правда с перерывами). За оффтоп извиняюсь, если хочешь, у меня на lezsite.narod.ru последний релиз скачай. Это прикинь, такого монстра в одиночку сделать...
Номер ответа: 13
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #13
Добавлено: 23.05.07 20:18
Почитайте, пожалуйста, про процедурно-ориентированное программирование, размер процедуры можно уменшить во много раз.
Делатьт переменные глобальными, конечно, не нужно.
Номер ответа: 14
Автор ответа:
Страшный Сон
Вопросов: 46
Ответов: 848
Профиль | | #14
Добавлено: 23.05.07 21:39
Ээээ... если избегать дублирования кода? Конструкции GoSub-Return - это оно?
Номер ответа: 15
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #15
Добавлено: 23.05.07 22:34
мне вот интересно, как автор смог накодить 2000 строк кода на вб и так и не узнать, что такое разбиение на процедуры
я лично даже в одном модуле больше 600-700 строк за жизнь не помещал (правда она пока еще короткая, но все же)