2012-05-18 3 views
3

Я программист .Net и я в настоящее время отладки приложения Delphi и как я иду вдоль я столкнулся следующее сообщение об ошибке:Ошибка при загрузке Форму

Error_Message

Не могли бы вы объяснить мне, что эта ошибка, и как я могу ее решить?

Я новичок в использовании Delphi.

+0

Вам не хватает установленного компонента. Но вы уверены, что получили это сообщение в процессе отладки? Разве это не было, когда вы открыли блок? Конечно, да, поскольку заголовок ошибки - это * Ошибка чтения формы *, что показано, когда поток формы загружается. – TLama

+0

Да что такое расширение файла компонента? Я не нашел никакого файла ocx в исходном коде. Я получил сообщение, когда открываю проект в Delphi 6 –

+0

. Сложно сказать, что я и Google не знают 'TsStatusBar'. Он может быть распространен как с пакетом '* .dpk' вместе с источником' * .pas', но это не правило, это просто догадка. Спросите автора проекта, это лучшее, что вы можете сделать. Или попробуйте найти 'TsStatusBar' с файловой маской' * .pas' в папках, где у вас могут быть компоненты (или некоторые общие репозитории). – TLama

ответ

13

Ошибка Объяснение

ошибка, которая была представлена ​​вам говорит вам, что компонент в этой форме не регистрируется в IDE, в этом случае TsStatusBar, который из библиотеки AlphaControls: http://www.alphaskins.com/

Форма была бы сохранена в некоторый момент с TsStatusBar, размещенным на форме. Когда какой-либо компонент добавляется в форму, они оставляют ссылки на компонент как в исходном файле формы (* .pas), так и внутри форм dfm. Вот почему вы получаете эту ошибку, потому что компонент не может быть найден, но ссылки, ссылающиеся на него, по-прежнему остаются.

Вариант 1 - Установите на AlphaControls Packge

Наилучшим вариантом было бы установить компоненты, которые отсутствуют, это позволит решить проблему ошибки, как показано в вашем вопросе.

Вариант 2 - Преобразование проекта

AlphaControls предоставляет инструмент для преобразования проекта из стандартного VCL в AlphaControls и наоборот, это может быть более простой вариант, то установка пакета AlphaControls или ручного редактирования исходных файлов, в конвертировать инструмент бесплатно. Не забудьте сделать резервную копию перед конвертированием, если что-то пойдет не так.

Вариант 3 - Ручное редактирование исходных файлов

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

В качестве альтернативы удалению ссылок вы можете переименовать их с TsStatusBar на номер TStatusBar, который является стандартной панелью состояния из VCL. В худшем случае могут возникнуть небольшие ошибки синтаксиса, которые могут потребовать исправления. Если вы решите отредактировать файлы формы и файлы dfm, я бы предложил вам сделать это до загрузки формы в среду IDE.

Вариант 4 - GExperts

Вы также можете установить IDE Expert, такие как GExperts, которые могут автоматизировать процесс переименования/преобразования ссылки компонентов.

Я бы посоветовал не удалять или переименовывать ссылки в этом случае, поскольку, похоже, проект зависит от пакета AlphaControls.

Резюме

Я могу видеть, что есть больше компонентов из AlphaControls пакет был использован, так фиксируя ошибки TsStatusBar вручную только зафиксировать часть проблемы.

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

Если вы решили установить пакет, важно понимать, что после установки пакета Delphi знает, где файлы исходного кода должны быть скомпилированы. После установки пакетов перейдите в меню> Инструменты> Параметры из IDE, затем вам нужно перейти в библиотеку и добавить папку для источника AlphaControls в путь библиотеки. Исходная папка будет той, которая содержит большинство .pas-файлов, но вы можете добавить все папки, если вы не уверены. Если вы не добавите путь к библиотеке, то Delphi не сможет скомпилироваться при использовании новых компонентов.

+3

+ 1 за потрясающее объяснение =) –

2

В вашей IDE не установлен пакет, содержащий TsStatusBar. Найдите этот пакет, создайте его и установите.

Компоненты времени разработки требуют, чтобы их код был интегрирован в среду IDE. Это делается с использованием так называемых пакетов. Проект пакета имеет расширение .dpk. Вы должны найти этот пакетный проект в своей системе контроля версий. Загрузите файл .dpk в Delphi, нажмите «Построить» из диспетчера пакетов и, наконец, при создании нажмите «Установить». Теперь, когда пакет с вашим компонентом известен IDE, ваша форма загрузится. Тот, кто поддерживает этот код в вашей организации, сможет помочь со всеми деталями.

+0

Спасибо за информацию, я попробую сразу же –

Смежные вопросы