Что вызывает эту ошибку? “Ошибка периода выполнения 380: значение Недопустимого свойства”

мы разработали приложение с помощью vb6.0 и SQL-сервер 2000 несколько лет назад. недавно, некоторые наши клиенты говорят нам, что при запуске приложения, на некоторых компьютерах, которые используют Winxp sp2 в качестве их O/S, они получают следующую ошибку, когда они хотят показать поисковую форму:

"Ошибка периода выполнения 380: значение Недопустимого свойства"

Что вызывает эту ошибку?

8
задан odiseh 30 December 2009 в 09:33
поделиться

3 ответа

Полагаю, ваше приложение использует окно редактирования с маской? Это относительно хорошо известная проблема, документированная Microsoft здесь:

http://support.microsoft.com/kb/177088

Статья ссылается на VB4 и 5, но я вполне уверен, что то же самое относится и к VB6.

EDIT

В дальнейших исследованиях я нахожу ссылки на эту проблему и с другими элементами управления. Перекомпиляция вашего приложения под Windows XP для пользователей, которые работают под XP, вероятно, создаст им рабочую версию, хотя это не идеальное решение...

.
9
ответ дан 5 December 2019 в 08:24
поделиться

Просто чтобы бросить два моих цента: еще одна распространенная причина этой ошибки в моем опыте - код в событии Form_Resize, который использует математику для изменения размеров элементов управления на форме. Размеры элементов управления (Высота и Ширина) не могут быть установлены в отрицательные значения, поэтому код, подобный приведенному ниже в событии Form_Resize, может привести к данной ошибке:

Private Sub Form_Resize()
    'Resize text box to fit the form, with a margin of 1000 twips on the right.'
    'This will error out if the width of the Form drops below 1000 twips.'
    txtFirstName.Width = Me.Width - 1000
End Sub

Приведенный выше код приведет к ошибке "Недействительное значение свойства", если форма будет изменена до ширины менее 1000 twips. Если это проблема, то самым простым решением будет добавить On Error Resume Next в качестве первой строки, чтобы такие ошибки игнорировались. Это одна из тех редких ситуаций в VB6, где On Error Resume Next является вашим другом.

7
ответ дан 5 December 2019 в 08:24
поделиться

Что вызывает ошибку во время выполнения 380 ? Попытка установить свойство объекта или элемента управления в недопустимое значение. Просмотрите код, который запускается при загрузке поисковой формы (Form_Load и т.д.) на наличие любого кода, который устанавливает свойство в зависимости от значений во время выполнения.

Другой мой совет - добавить обработку ошибок и ведение логов, чтобы отследить точную строку, вызывающую ошибку.

_

 On Error Goto Handler
   <routine contents>   
 Handler: 
   Err.Raise Err.Number, "(function_name)->" & Err.source, Err.Description 
5
ответ дан 5 December 2019 в 08:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: