문제

이런 종류의 N00B 질문이지만 여전히 알아낼 수 없습니다. 나는 단위가있다 main 절차와 함께 Discard() 그것에. 이제 다른 유닛이 있습니다 engine 그리고 IT 절차에서 실행하고 싶습니다 Discard() 단위 main. 나는 메인이있다 uses 섹션 engine.pas. 나는 절차를 전화하려고했다 main.Discard() 그러나 좋지 않습니다. 내가 뭘 잘못하고 있죠?

도움이 되었습니까?

해결책

절차의 서명을 인터페이스에 넣어야합니다.

unit main;

interface

procedure Discard();

implementation

procedure Discard();
begin
//do whatever
end;

다른 단위는 인터페이스 섹션에 나열된 내용 만 "참조"할 수 있습니다.

다른 팁

"main"단위에서 "인터페이스"섹션에서 버려지는 것을 선언합니다.


unit Main;

interface

uses ...

procedure Discard (...); // only the declaration, not the entire procedure

implementation

... // code

이제 "엔진"장치에서 "사용"섹션에 "메인"을 추가합니다.

uses Main, ...

그게 다, 당신은 전화 할 수 있습니다 Discard(...) 지금. 둘 이상이있는 경우 Discard() 당신은 설명 적으로 전화 할 수 있습니다 이것 Discard() 사용하여 Main.Discard().

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top