![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
tranzit1973 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 7.6.2005 Репутация: нет Всего: нет |
Братцы!
Picture1.Scale(x1,y1)-(x2,y2) Какой диапазон должен быть у аргументов x1,x2,y1,y2 ? При изменении размера объекта Picture Box на форме эта строка вызывает ошибку в программе. Т.е. если размер объекта небольшой - то ошибка, если увеличить, то ошибки нет. Аргумент y1 у меня может быть очень большим. |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Это координаты углов объекта. Единица определяется ScaleMode, диапазон - свойствами объекта... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
tranzit1973 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 7.6.2005 Репутация: нет Всего: нет |
Спасибо, конечно, но почему кусок кода
maxfx = 6000000000# Picture1.ScaleMode = 0 Picture1.Scale (0, maxfx)-(100, 0) при небольших размерах Picture Box выдает ошибку? |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
А это - зачем? или тыы где-то ScaleHeight, ScaleWidth, ScaleLeft или ScaleTop задаешь? а небольших - каких? собсно дай код задания параметров PictureBox, при которых этот код дает ошибку... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Voldemar2004 |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1650 Регистрация: 25.12.2004 Репутация: 7 Всего: 23 |
Ошибка - Overflow - переполнение, tranzit1973 удали нолик в конце
и все будет работать. И пользуйся
она запрещает неявное объявление переменных и объявляй переменные как Dim your_peremennaya as Type а не das$ или das#. ![]() Добавлено @ 17:12 ОйAkina, как всегда опередил нас. Если ответ не по теме, то не ругайте. ![]() -------------------- i_i (';') (V) ![]() |
||||||
|
|||||||
tranzit1973 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 7.6.2005 Репутация: нет Всего: нет |
Так дело в том, что если Picture Box прилично растянуть по высоте (на этапе проектирования), то все работает без ошибки.
Влияет ли физический размер Picture Box на максимально возможные значения аргумента Scale? P.S. Все переменные у меня определены. |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
tranzit1973
ну дай значения пропертей, при которых ошибка-то вылетает... у меня что-то не получается воспроизвесть... Добавлено @ 17:51 Voldemar2004 при чем тут нолик в конце - аргументы там SINGLE, переполнения не вызовут. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
tranzit1973 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 7.6.2005 Репутация: нет Всего: нет |
tranzit1973
ну дай значения пропертей, при которых ошибка-то вылетает... у меня что-то не получается воспроизвесть... [b] ---------------------------------------------------------------------------- Да проперти обычные, ничего там я не редактировал. Попробуй создать форму с одной кнопкой и Picture Box-ом (ScaleMode = 0) Размер Picture Box сделай (ну, примерно 3х3 см) Введи код: Option Explicit Dim maxfx As Single Private Sub Command1_Click() maxfx = 6000000000 Picture1.Scale (0, maxfx)-(100, 0) End Sub В итоге: Run Time Error 5..... А теперь попробуй растяни мышкой Picture Box вниз сантиметров на 15, и запусти прогу. Вуаля! Все работает. Мля... цитата не получилась.... Пардон. Значит, я тупой ![]() Это сообщение отредактировал(а) tranzit1973 - 7.6.2005, 18:30 |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 19 Всего: 99 |
Модератор: Выделяешь текст в сообщение участника, который хочешь процитировать и нажимаешь на "быстрая цитата" и все будет чикипоки... -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
tranzit1973 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 7.6.2005 Репутация: нет Всего: нет |
Спасибо, cardinal. Ну что, народ, никто не пробовал? ![]() |
|||
|
||||
Voldemar2004 |
|
||||||||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1650 Регистрация: 25.12.2004 Репутация: 7 Всего: 23 |
Попробовал. 3х3 см. ![]() Вот в чем ошибка по Моему Скромному Мнению (ИМХО):
Вот такой код работает без проблем. Дело в том, что из-за слишком здорового числа, которое дополняется символом #, а он означает по-моему ИМХО, выход за пределы диапазона и есть суть ошибки. Ведь VB не добавит знака # при количестве цифр = 9 в числе 600000000. А если регистр увеличить на единичку - опля см. результат. Причем не пишется, что выход за пределы динамического диапазона.
А вот в этом случае уже OverFlow. ![]()
А вот в этом случае уже деление на 0. ![]()
И все опять прекрасно работает.
Даже без таких вот ухищрений. Насчет растягивания в твоем случае вниз на 15 см. - ну глюки бывают и в VB, хотя мне кажется все дело в том, что ты, tranzit1973, слишко задрал число - удали нолик в конце, как у меня и все! З.Ы. И зачем тебе такое здоровое число?? Это сообщение отредактировал(а) Voldemar2004 - 8.6.2005, 18:41 -------------------- i_i (';') (V) ![]() |
||||||||||||||
|
|||||||||||||||
tranzit1973 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 7.6.2005 Репутация: нет Всего: нет |
Спасибо, друг, за ответы. Число maxfx у меня может быть любым в пределах Single, а сингл-то могет быть поболе миллиарда. А тут затыкается на миллионах! Дело принципа... |
|||
|
||||
Voldemar2004 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1650 Регистрация: 25.12.2004 Репутация: 7 Всего: 23 |
Неа. Пределом Single является 3.402823E38 для положительных чисел. Бейсик-то правильно все реализует, только для объекта Picture такое число недопустимо видать в твоем случае... -------------------- i_i (';') (V) ![]() |
|||
|
||||
tranzit1973 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 7.6.2005 Репутация: нет Всего: нет |
Ну дык я и говорю: "Поболе миллиарда". Насколько я помню со школы ![]() В данном случае: 3.402823*10^38. Ну да ладно, забил я на это дело, пришлось, конечно лишнюю ON ERROR сделать, но времени копаться нету. Спасибо, братцы, за внимание к новичку. Всё! Тема закрыта! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "VB6" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | VB6 | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |