안녕하세요..
오늘 궁금한 것은?
머냐면...
공통 유닛을 만들려구 하는데... public으루 함수를 선언해서 다른 유닛에서도 그 함수를 쓰려구 하건든요...
그런데 선언이 안되요.. 함 봐주세요...
public
{ Public declarations }
function abc(str : string) : integer;
end;
이런식으로 선언했는데.. 다음과 같은 에러가 나옵니다.
"Unsatisfied forward or external declaration ...."
그래서 그냥 다음과 같이 선언을 하니 다른 유닛에서도 참조가 가능하더군요...
var
Form1: TForm1;
function abc(str : string) : integer;
implementation
.....
어떤 차이가 있는건지.. public으루 선언을 하려면 어떻게 해야 하는건지..
자세한 설명 좀 부탁드립니다.
function abc(str : string) : integer;로 했기 때문입니다.
function T클라스.abc(str : string) : integer;로 했더라면 에라는 안났을 겁니다.
그리고 다른 부분을 설명해 드리자면
위의 방식으로 하면 나중에 그 object이나 class를 다른 variable로 만들어
사용시 newVarName.abc(str)을 하면 되지만
두번째 방식으로는 그렇게 사용할수가 없어요.
궁그미 wrote:
> 안녕하세요..
> 오늘 궁금한 것은?
> 머냐면...
> 공통 유닛을 만들려구 하는데... public으루 함수를 선언해서 다른 유닛에서도 그 함수를 쓰려구 하건든요...
> 그런데 선언이 안되요.. 함 봐주세요...
>
> public
> { Public declarations }
> function abc(str : string) : integer;
> end;
>
> 이런식으로 선언했는데.. 다음과 같은 에러가 나옵니다.
> "Unsatisfied forward or external declaration ...."
>
> 그래서 그냥 다음과 같이 선언을 하니 다른 유닛에서도 참조가 가능하더군요...
>
> var
> Form1: TForm1;
>
> function abc(str : string) : integer;
> implementation
> .....
>
> 어떤 차이가 있는건지.. public으루 선언을 하려면 어떻게 해야 하는건지..
> 자세한 설명 좀 부탁드립니다.