|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Отключение ошибки Field does not have a corresponding component
Использую Embarcadero® Delphi 10 Seattle
При закрытии формы вылезает несколько (много) сообщений подобного содержания. Поскольку кнопки "Yes to all" и "No to all" не предусмотрено, приходится убивать кучу времени на закрытие этих окошек. Поскольку среда развернута на дохлой виртуалке, между отображением двух сообщений среда дико тупит, в результате закрытие одной формы затягивается минут на 5-10 (зависит от нагруженности формы элементами). Внимание, вопрос: как отключить проверку формы на наличие этих компонентов напрочь? А желательно, отключить вообще всю проверку на наличие любых ошибок, независимо от их типа? |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
T232006 (24.02.2024)
|
#3
|
|||
|
|||
Да, оно самое. На вопрос, актуален.
Как устранить ошибку, ответов полно. Меня интересует именно отключение уведомлений среды об ошибке. Внесение правок в код не рассматривается по множеству причин, одна из которых в том, что это не входит в мои служебные обязанности, вторая - что внесение правок в несколько сотен форм, которые мне нужны только для чтения кода (я не разработчик) - это еще проблемнее, чем закрывать по пятьдесят диалоговых окон каждый раз. |
#4
|
||||
|
||||
Цитата:
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } procedure AppException(Sender: TObject; E: Exception); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Application.OnException:=AppException; end; procedure TForm1.AppException(Sender: TObject; E: Exception); begin (* if E is EZeroDivide then ShowMessage('EZeroDivide') else Application.ShowException(E); *) end; procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text:=FloatToStr(1/Tag); end; end. Пишу программы за еду. __________________ |
#5
|
|||
|
|||
Нам, дык у человека среда ругается, а не программа.
Не думаю, что в среде можно отключить вывод подобных ошибок, т.к. они связаны с внутренними механизмами работы самой IDE. Тут только один совет - использовать для просмотра кода другой софт, например, Notepad++, довольно неплохой редактор для этих целей. Но сам вид формочки не посмотришь... |
#6
|
|||
|
|||
Проблема в том, что я не могу вносить изменения в код. Вообще. Вернее, могу, но придется это делать в куче мест сразу после ребута. Ошибка возникает не при компиляции (хотя, может, и при ней, ни разу не пытался скомпилить код), а при закрытии вкладки с кодом в среде.
Я выполняю лишь ревью кода, и закрывать после каждого юнита десятки диалоговых окон меня просто задолбало. Могу внести изменения в саму среду, возможно, подхачить где-нибудь в HEX-редакторе вызов, хотя надеюсь просто в настройках где-нибудь отрубить сообщение. Но не нашел, где, много раз пытался. |
#7
|
|||
|
|||
Ну я и говорю - для ревью КОДА достаточно его смотреть в каком-нить редакторе с подстветкой. Только если надо сами формы смотреть - вот тут беда. А поправить/отключить это, как мне кажется, нельзя. Это особенность редактора - проверка соответствия визуальной формы и соотв. класса.
|
#8
|
|||
|
|||
Печалити =-(
Просмотр форм действительно актуален. Я долгое время мучился с просмотром форм через НП++, ощущал себя как оператор в Матрице, потом выпросил себе виртуалку со средой. В Лазарус экспортировать проект так и не получилось. Видимо, придется мучиться. |
#9
|
|||
|
|||
Ну, могу посоветовать только такой извращенный метод - формы в среде не закрываешь, а в конце просто сносишь среду целиком черещ TaskManager.
PS. Ну и раздать люлей программерам за такой косяк. |