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

+ Recent posts