문제

저는 Delphi 5의 큰 프로젝트에서 일하고 있습니다. 오늘, 오늘, 앱의 두 가지 지점을 함께 병합 한 후, 수백 개의 유닛 중 하나 인 Unitmain (주 양식의 유닛, 추측)이 글로벌 응용 프로그램 인식을 중단했습니다.

이것은 다소 기괴한 문제입니다 - 나는 응용 프로그램 : Unitmain의 Tapplication을 정의하고 .dpr 프로젝트 파일에서 응용 프로그램으로 설정하지만 액세스 위반으로 이어지는 것은 아닙니다. 애플리케이션이 특별한 것이라는 놀라움.

나는 누군가가 전에 같은 문제에 직면했거나 델파이 VCL의 내부 작업을 충분히 알고 있기를 바라고 있습니다.

unit UnitMain;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Menus, ComCtrls, StdCtrls, cxButtons, ExtCtrls, IniFiles, ShellAPI,
  LMDControl, LMDBaseControl, LMDBaseGraphicControl, LMDGraphicControl,
  LMDScrollText, cxControls, cxContainer, cxListBox, Psock, NMFtp, db, DBTables,
  FileCtrl, Configs, cxHint, DSetFunc, OleCtrls, DsInformation,
  InterAppComm, ActnList, ADODB, OleServer, CRAXDRT_TLB;

정확한 오류는 컴파일러 가이 장치에서 응용 프로그램을 인식하지 못한다는 것입니다. 예를 들어, application.processmessages의 경우; 호출, 오류는 "객체 또는 클래스 유형이 필요합니다"입니다. 다른 유닛 중 어느 것도이 문제가 없습니다.

도움이 되었습니까?

해결책

스코프에 "응용 프로그램"이라는 두 가지 기호가있을 가능성이 높으며 양식 단위의 기호는 활성화되지 않습니다. 용도 목록의 양식 단위가 응용 프로그램이라는 기호가 포함 된 이전 장치에 오게됩니다.

그러나 더 많은 정보를 제공해야합니다. 정확한 오류 메시지 등

다른 팁

지금은 모든 일이 작동하는 것을 보게되어 기쁘지만, 그러한 문제를 해결하는 또 다른 방법을 추가 할 것입니다. 특히 사용 클로스를 재정렬하지 않으려면 단위 이름을 사용하려는 모든 것에 접두사를 접두사하는 것입니다.

Forms.Application.ProcessMessages;

파일 상단의 사용 절은 어떤 단위입니까? 응용 프로그램은 "Forms"장치에서 제공됩니다.

예를 들어.

unit MyUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms;
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top