Runtime error 380 invalid property value как исправить

Обновлено: 07.07.2024

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

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

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

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

В статье упоминаются VB4 и 5, но я уверен, что то же самое верно для VB6.

ИЗМЕНИТЬ

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

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

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

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

Другим советом является добавление некоторых ошибок и некоторая регистрация для отслеживания точной строки, которая вызывает ошибку.

  • Ведение журнала. Посыпьте заявления через код, который говорит "Got to X", "Got to Y" и т.д. Используйте их, чтобы найти точное местоположение ошибки. Вы можете написать текстовый файл или журнал событий или использовать OutputDebugString.
  • Обработка ошибок Здесь, как получить трассировку стека для ошибки. Добавьте обработчик ошибок в каждую подпрограмму, которая может быть задействована, как этот код ниже. Этот бесплатный инструмент MZTools может сделать это автоматически. Вы также можете использовать Erl , чтобы сообщать номера строк и находить точную строку - MZTools может автоматически помещать номера строк для вас.

Старый поток, но вот ответ.

Проблемные шрифты с voyager

т. если вы установите какой-то комплект corel, отбросьте некоторые варианты языка. Мы выкапываем это с помощью монитора процессов и выясняем причину. У нас были эти два файла шрифтов.

У нас была такая же проблема, и она была исправлена ​​путем удаления этих двух файлов шрифтов из папки windows\fonts.

У меня была та же проблема в замаскированном элементе управления поля ввода, который использовался для даты, и ошибка была связана со свойством формата даты в настройках региона в окнах. Изменил "M/d/yyyy" на "dd/MM/yyyy", и все получилось.

Похоже, ответы выше даны, когда вы пишете и компилируете программу, но я использую программное обеспечение Vendor, Catalog.exe , часть карточного каталога Voyager от "Ex Libris", и я получаю ошибку как хорошо:

    может вызвать Run-Time Error 380 (попробуйте обновить)
  • Перезапустите в безопасном режиме
  • Запустите приложение от имени администратора (щелкните правой кнопкой мыши, Run as Administrator )
  • Получить все обновления для MS Windows и MS Office
  • Удалите и переустановите программное обеспечение
  • Очистите реестр с помощью CCleaner, чтобы удалить неверные или нулевые значения реестра (или, возможно, установите и более старую версию?)
  • (Пере) установить все библиотеки времени выполнения Microsoft VB6, обновления и пакеты обновления
  • (Переустановите) "Библиотека времени выполнения Microsoft Visual C++"
  • Настройте Windows для использования десятичного числа "." при отображении чисел. Выберите Пуск/Панель управления/Дата, Время, Язык и Региональные параметры.

Из того, что говорят другие (например, Дэвид М), я думаю, что это может быть связано с библиотекой MSVBM60.DLL - но похоже, что на обоих моих компьютерах этот файл абсолютно одинаков (одна и та же версия, размер, дата и т.д.).

Поскольку этот файл не отличался, я попытался найти, какие другие (dll) файлы могли бы использовать приложение, поэтому я запустил Process Explorer от Sysinternals и посмотрел на приложение (оно загружается, а затем вылетает, когда вы говорите "подключиться"), а скриншоты ниже - то, что я нашел.

screen3.jpg

Теперь я не программист Windows/VB, а просто опытный пользователь, и поэтому я уже почти понял, что делать. Я поговорил с поставщиком программного обеспечения, и они рекомендуют переустановить Windows. Это, вероятно, сработает, но мне просто жаль, что эта программа может работать в Windows 7, но что-то в этой конкретной системе вызывает ошибки. Наконец, это образ, который уже был развернут на нескольких машинах, и поэтому, если однажды переустановить Windows, это не такая уж большая проблема, это сэкономит мне немного серьезного времени, если я найду исправление или обходной путь.

Люди часто предпочитают ссылаться на «Invalid property value» как на «ошибку времени выполнения», также известную как программная ошибка. Программисты, такие как Microsoft Corporation, стремятся создавать программное обеспечение, свободное от этих сбоев, пока оно не будет публично выпущено. Тем не менее, возможно, что иногда ошибки, такие как ошибка 380, не устранены, даже на этом этапе.

В чем причина ошибки 380?

«Invalid property value» чаще всего может возникать при загрузке Windows Operating System. Мы рассмотрим основные причины ошибки 380 ошибок:

Ошибка 380 Crash - это очень популярная ошибка выполнения ошибки 380, которая приводит к завершению работы всей программы. Обычно это происходит, когда Windows Operating System не может обрабатывать предоставленный ввод или когда он не знает, что выводить.

Утечка памяти «Invalid property value» - когда происходит утечка памяти Windows Operating System, это приведет к вялой работе операционной системы из-за нехватки системных ресурсов. Потенциальные триггеры могут быть бесконечным циклом, что приводит к тому, что работа программы запускается снова и снова.

Ошибка 380 Logic Error - логическая ошибка Windows Operating System возникает, когда она производит неправильный вывод, несмотря на то, что пользователь предоставляет правильный ввод. Виновником в этом случае обычно является недостаток в исходном коде Microsoft Corporation, который неправильно обрабатывает ввод.

Как правило, такие Microsoft Corporation ошибки возникают из-за повреждённых или отсутствующих файлов Invalid property value, а иногда — в результате заражения вредоносным ПО в настоящем или прошлом, что оказало влияние на Windows Operating System. Для устранения неполадок, связанных с файлом Microsoft Corporation, большинство профессионалов ПК заменят файл на соответствующую версию. Мы также рекомендуем выполнить сканирование реестра, чтобы очистить все недействительные ссылки на Invalid property value, которые могут являться причиной ошибки.

Классические проблемы Invalid property value

Усложнения Windows Operating System с Invalid property value состоят из:

  • «Ошибка Invalid property value. «
  • "Invalid property value не является приложением Win32."
  • «Извините, Invalid property value столкнулся с проблемой. «
  • «Invalid property value не может быть найден. «
  • "Invalid property value не найден."
  • "Ошибка запуска программы: Invalid property value."
  • «Invalid property value не выполняется. «
  • "Отказ Invalid property value."
  • «Ошибка в пути к программному обеспечению: Invalid property value. «

Источники проблем Invalid property value

Большинство проблем Invalid property value связаны с отсутствующим или поврежденным Invalid property value, вирусной инфекцией или недействительными записями реестра Windows, связанными с Windows Operating System.

Anonim

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

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

  • Как и многие другие комментарии. Самый большой источник этой проблемы, который я видел, - это отсутствие шрифтов. В моем случае в Windows 10 отсутствовали мелкие шрифты и без засечек.

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

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

РЕДАКТИРОВАТЬ

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

  • Дэвид, я проверил, что это элементы управления MaskEditBox. Что ж, я видел 4 блока MaskEditBox в форме поиска, но, к сожалению, их видимое свойство было истинным во время разработки.
  • 4 Эта ошибка возникает не только из-за ошибок в элементах управления Microsoft. Это также происходит, когда вы совершаете ошибку программирования и случайно устанавливаете для свойства недопустимое значение. Что-то другое на пользовательских машинах вызывает другое поведение - например, Темы Windows или другая конфигурация приложения.

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

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

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

  • Марк, это Vb6.0 :( Невозможно определить точную строку, которая вызывает ошибку.
  • 2 @odiseh Не сдавайтесь, есть десятки способов узнать точную строку, вызывающую ошибку. Я делал это много раз. Я отредактировал свой ответ с некоторыми предложениями.
  • 2 @odiseh: если вы добавите номера строк в свой код, Erl вернет номер строки, в которой произошла ошибка.

У меня была та же проблема с маскированным элементом управления полем редактирования, который использовался для даты, и ошибка была связана со свойством формата даты в настройках региона окон. Изменил "M / d / yyyy" на "dd / MM / yyyy", и все получилось.

Старая ветка, но вот ответ.

Проблемные шрифты с voyager

т.е. если вы устанавливаете какой-либо пакет Corel, откажитесь от некоторых языковых параметров. Мы покопались в этом с помощью монитора процессов и нашли причину, у нас это были эти два файла шрифтов.

У нас была такая же проблема, и она была исправлена ​​путем удаления этих двух файлов шрифтов из папки windows \ fonts.

Я думаю, в основном проблема заключается в том, под какой версией ОС была скомпилирована программа и под какой версией ОС вы запускаете программу. Я видел много обновленных файлов dll и ocx, вызывающих аналогичные ошибки, особенно когда программа была скомпилирована под более старую версию файлов dll и ocx, а во время установки сохраняются последние файлы dll и ocx.

Возможно у вас на обоих компьютерах разное разрешение экрана. И это могло быть причиной.

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

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

Одна из причин этой ошибки - очень глупая ошибка в коде. Если правильное значение не передается свойству ActiveX, то также выдается эта ошибка.

Как пустое значение передается в свойство Font.Name или текстовое значение передается в свойство Height.

2017 Я знаю . но кто-то сталкивается с этой проблемой во время обслуживания кода.

Эта ошибка произошла, когда я попробовал:

Похоже, что приведенные выше ответы относятся к случаям, когда вы пишете и компилируете программу, но я использую программное обеспечение поставщика, Catalog.exe , часть Voyager каталог карт от "Ex Libris", и я тоже получаю ошибку:

Судя по тому, что говорят другие (например, Дэвид М.), я думаю, что это может быть связано с MSVBM60.DLL библиотека - но похоже, что на обоих моих компьютерах этот файл абсолютно одинаковый (версия, размер, дата и т. д.).


Я не программист Windows / VB, а просто опытный пользователь, и поэтому мои знания о том, что мне делать, подошли к концу. Я поговорил с поставщиком программного обеспечения, и они рекомендуют переустановить Windows. Это, вероятно, сработает, но меня просто беспокоит то, что эта программа может работать в Windows 7, но что-то в этой конкретной системе вызывает ошибки. Наконец, это образ, который уже был развернут на нескольких машинах, и поэтому, хотя повторная установка Windows один раз не является большой проблемой, я бы сэкономил много времени, если бы смог найти исправление или обходной путь.

ошибка 380 решение для Windows 7 очень просто, просто проверьте дату, время и региональные настройки, сделайте их правильно.

Причин появления таковой может быть огромное множество.

Чаще всего причина состоит в том, что выходит новая версия того или иного приложения/игры и она устанавливается прямо поверх старой.

Хотя это далеко не единственная ситуация, которая может вызвать ее появление.


После того, как вы нажимаете на единственную кнопку в окне ошибки, оно просто закрывается и программа также перестает работать.

Как выглядит ошибка

Как выглядит ошибка

Способ №1. CCleaner

Самое простое решение заключается в том, чтобы воспользоваться программой для чистки реестра. Как это работает?

Все просто – чистильщик реестра, собственно, и предназначен для того, чтобы исправлять всевозможные проблемы, вроде той, которую рассматриваем мы, систематизировать файлы и добавлять то, чего недостает ему для нормальной работы.

Лучшей по праву считается CCleaner, хотя вы можете воспользоваться и другой.

Чтобы использовать ее, сделайте вот что:

Использование

  1. Подождите, пока приложение исправит все проблемы. Перезагрузите компьютер.

После этого runtime error должен перестать появляться. Если нет, переходим к следующему решению.

Способ №2. DirectX

Вполне вероятно, что ее появление вызывают какие-то проблемы с DirectX. Возможно, какие-то файлы исполняемых библиотек были повреждены или же существующие библиотеки банально устарели.

В любом случае, лучше всего просто установить наиболее актуальные варианты и, опять же, перезагрузить компьютер.

Для этого зайдите на сайт Microsoft, на страницу с возможностью скачать DirectX. Запустите скачанный файл и выполните все действия, подразумевающие установку исполняемых библиотек.

Здесь нет никаких особых рекомендаций – обычная.

Если после установки и перезагрузки компьютера ошибка не исчезла, идем дальше.

Способ №3. Visual C++

О распространяемом пакете Visual C++ в контексте рассматриваемой проблемы можно скачать то же самое, что и о библиотеках DirectX.

Возможно, какие-то файлы были повреждены или версия устарела.

Бывают в данном случае и другие ситуации, когда установленная C++ попросту не подходит для вашей операционной системы.

Ниже приведена таблица с вариантами, которые подходят для разных версий ОС.

Таблица 1. Требуемые версии Visual C++ для Windows
Операционная система Требуемая Visual C++
Windows XP и ниже C++2008
Windows 7 C++2010
Windows 8 и 10 Наиболее актуальная на данный момент

Так вот, в зависимости от того, какая у вас ОС, вам следует скачать и инсталировать на свой компьютер C++2008 (64-бит, 32-бит), C++2010 (64-бит, 32-бит) или же C++2015 обновление 3.

Это наиболее актуальная версия по состоянию на июнь 2017 года. В будущем выйдут новые, поэтому следите за новостями на официальном сайте Microsoft.

После этого перезагрузите компьютер.

Но есть определенный, правильный порядок ее инсталяции:

Сначала необходимо инсталируйте версию 2.0 (вот ссылка). Попробуйте запустить программу, в которой раньше возникала проблема, если она не исчезла, устанавливайте дальше.

Если не помогает, 4.0 (ссылка).

Наконец, если у вас Windows Vista SP2, 7 SP1, 8, 8.1, Server 2008 SP2, Server 2008 R2 SP1, Server 2012 или Server 2012 R2, установите 4.6.2 (скачать).

Скачивание происходит точно так же, как и в случае с пакетами Visual C++.

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

В крайнем случае, сделайте откат системы или вовсе переустановите ее.


Обсуждаем вопросы только по Excel VBA
(программирование макросов, скриптов, пользовательских функций и т.п.).
Приветствуются ссылки на ресурсы и справочную литературу по теме.

Вопросы по работе с MS Excel, не относящиеся к программированию, задаем в теме Excel FAQ

Обратите внимание, этот топик для помощи в изучении и использовании VBA. Посему запросы типа "Напишите мне такой-то макрос, я VBA не знаю и знать не хочу" не приветствуются.
Древняя мудрость: "Накорми голодного рыбой и он погибнет, научи его ловить рыбу и ты спасешь его."(R)


Рекомендации:
Если у Вас есть проблема, не решаемая стандартными средствами Excel (об этом можно уточнить здесь ) или требующая автоматизации, попробуйте для начала записать макрос самим Excel через меню Сервис (Tools) - Макрос (Macro) - Начать запись (Record New Macro). Подробнее здесь. В большинстве случаев получившийся код (Сервис-Макрос-Макросы-Изменить) Вас не удовлетворит, но подскажет, какие объекты-методы-свойства использовать.
Другой Ваш помощник - Просмотр объектов (Object Browser). Ну и встроення помощь (F1), естественно.

Рекомендуется к прочтению:


(для продвинутых)
(eng.) - тематический блог: советы по работе с Excel и прочие материалы
(eng.) - советы, трюки и уловки
(eng.) - весьма оживленный форум по Excel&VBA.

В форме имеется ListBox, который заполняется с Листа1. Надо чтобы при нажатии на ОК данные из ListBox скопировались на Лист2. Подскажи, пожалуйста, что не правильно делаю?

Весь список с ListBox вставляется в Лист2, но при этом матерится:

Добавлено:
И еще почему-то не работает строка
newdoc.ActiveSheet.Range(Cells(i + 4, 2), Cells(i + 4, 11)).Value = .Workbooks(wbdbf).ActiveSheet.Range(Cells(i + 2, 2), Cells(i + 2, 11)).Value

а вот строка
newdoc.ActiveSheet.Range("B" + Trim(Str(i + 4)) + ":K" + Trim(Str(i + 4))).Value = .Workbooks(wbdbf).ActiveSheet.Range("B" + Trim(Str(i + 2)) + ":K" + Trim(Str(i + 2))).Value
работает. Что не правильно в первом варианте?

Добавлено:
Выдается ошибка application defined or object defined error

З.Ы. Документ формируется на основании шаблона.

Пожалуйста сильно не пинайте. С VBA раньше дела не имел, а сейчас возникла необходимость.

Заранее спасибо за помощь.

в билдере функция RenameFile
перебор файлов в каталоге через FindFirst, FindNext, FindClose

почему в ЭТОЙ ветке спросил?

в билдере функция RenameFile
перебор файлов в каталоге через FindFirst, FindNext, FindClose

Читайте также: