저는 Delphi 2009를 사용하고 있습니다. 제 프로그램이 컴파일되어 정상적으로 실행되고 있습니다. Action 목록을 사용하고 프로그램을 내 프로그램에 포함시킵니다. 비록 잠시 후에 변경하지는 않았지만.델파이에서 액션을 추가하면 치명적 오류가 발생합니다
그래서 오늘은 ActionList에 새로운 액션이 추가되었다고 가정합니다. 다른 것을하지 않고서는 이제 프로그램을 만들고 실행하면 다음과 같은 오류가 발생합니다.
[DCC 치명적인 오류] Userface.pas (1) : F2092 프로그램 또는 장치 'Userface'가 재귀 적으로 자체를 사용합니다.
나는 uses 절을 변경하지 않았습니다. Userface 유닛이 자신을 호출하거나 Userface를 호출하는 다른 유닛을 호출하는 인스턴스를 찾을 수 없습니다. 구현 섹션에 잠재적으로 재귀 호출을 배치해야합니다.
저장하지 않고 Delphi를 종료하고 다시 빌드하고 실행하면 정상적으로 실행됩니다. 작업 목록에 새 작업을 다시 추가하려고하면 치명적인 오류가 다시 발생합니다.
나는 무슨 일이 일어나고 있는지를 알아 내지 못하고있다. 이 문제를 해결하는 방법을 알아내는 데 도움이 될만한 것에 감사드립니다.
편집 : Uwe의 답변을받은 후, 나는 그것이 여전히 일어나고 있는지 확인하기 위해 두 번 체크했다. 과연 내가 Uwe에게 보내는 나의 말에서 묘사했던대로 나는 그것을 다시했다. 건물을 짓은 후에 다시 일어났습니다.
...하지만 프로젝트 메뉴에서 실수로 "빌드"를 선택하지 않고 대신 "컴파일"을 선택했습니다. 그것은 잘 컴파일됩니다. 그런 다음 건물을 만들려고했지만 이제는 제대로 작동합니다. 치명적인 오류가 아닙니다! 다 잘된 것 같아.
다른 작업을 추가하고 빌드하려고하면 오류가 다시 발생합니다. 하지만 컴파일하면 성공적으로 빌드 할 수 있습니다. 적어도 해결 방법이 있습니다.
이것은 일종의 결함 일 것입니다. 나는 무슨 일이 일어 났는지 모른다. 아무도 이것이 무엇인지 또는 그것이 일어날 수있는 이유를 알고 있습니까?
후속. Marjan이 말한 것처럼, 다른 상황에서 발생할 수 있으며, 그 중 하나가 나에게 일어났습니다. 그래서 그것은 아마도 내 질문에 묻는 행동 추가에 직접 관련이 없습니다.
나에게는 적지 만 지금까지는 비교적 드문 일이며 사소한 성가심으로 변했습니다. Delphi 2010에서 이미 수정되었을 수 있습니다. 궁극적 인 해결책은 64 비트 또는 다중 플랫폼을 추가 한 다음 Delphi 2011 또는 12로 업그레이드 할 때입니다.
왜 그런 일이 벌어 질지 모르지만 그 위로가 있다면 다른 상황에서도 일어난다는 것을 알았습니다. 변경 직후에 빌드가 실패하면 컴파일되고 빌드가 성공합니다. 이러한 상황에서 때때로 도움이되는 것은 컴파일/빌드 전에 모두 명시 적 저장입니다. IDE에서 타이밍 및 캐싱과 관련이있을 것 같습니다. 아마도 코드 통찰력, 오류 레드 라이닝 (error red lining) 등을 가능하게하는 컴파일 스레드가 관련되어있을 수 있습니다. –
@ Marjan :이 의견은 나에게 매우 도움이된다. 그것을 답으로 추가하고 다른 사람들이 직접 그것에 의견을 남길 수있게하십시오. 그러면 더 나은 답변이 없을 경우 답변에 대한 크레딧을 줄 수 있습니다. – lkessler
감사합니다. 완료되었습니다. –