procedure Test(var AParam);
begin
ShowMessage(PChar(AParam));
String(AParam) := '호이' ;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
S: String;
begin
S := '하이';
Test(S);
ShowMessage(S);
end;
위 코드가 수행되면 Button1 클릭 시
'하이' 메세지창 -> '호이' 메세지창 이 뜬다.
Test 함수의 인자 값에 변수 형을 명시하지 않으면, Pointer 또는 다른 어떤 타입이 와도 되는 것 같다.
var -> const 로 변환을 할 경우도 유사하다.
어느 타입도 받으면서 값 변경은 방지한다.
마치 C++ 의 Template 과 같은 느낌이다.
Delphi 만 쓴다면 꽤 괜찮아 보이지만, C++ 변환시 혼동이 올 가능성이 있으므로 사용은 피하자.
'Windows > RAD Studio' 카테고리의 다른 글
TComponentState type (0) | 2008.03.05 |
---|---|
[RAD] SendMessage 의 Param 자료형 (0) | 2008.02.29 |
[RAD] default 키워드 (0) | 2008.02.27 |
[DEL] TMessage.Msg 문자열 변환 (0) | 2008.02.26 |
[CB] MMTimer 를 이용한 수행시간 확인 (0) | 2008.02.26 |