델마당에 어느 분이 물어 온건데 그분에게는 답이 될지는 모르겠습니다.
가변형으로 variant를 Var 형으로 보내야 할때 직접 Array형 variant를 보내는 것이 아니기 때문에 Pointer형을 이용합니다.
예제 입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
procedure TForm1.Button1Click(Sender: TObject); var i : Integer; a1,a2,a3,a4,a5 : variant; function vSum( pV : Array of pVariant ) : Integer ; Var I, T : Integer; begin T := 0; for I := 0 to High(pV) do T := T + pV[i]^; Result := T; Pv[0]^ := 111; end; begin A1 := 1; A2 := 2; A3 := 3; A4 := 4; A5 := 5; caption := Inttostr( vSum( [@a1,@a2,@a3,@a4] ) ) + '-' + Inttostr( a1 ); end; |
최신 댓글