Q&A

  • Variant , 배열
우선 VB소스를 먼저 보시길 바랍니다.

Private Sub ProcessList()

Dim pp

Dim xx As Variant

Dim i, aa As Integer

Dim s, s1 as Variant



Set ps = CreateObject("ASPsvg.Process")



myarray = ps.GetProcessList // For문 에서 처럼 2차원배열을 가지고 있는 구조



aa = UBound(myarray) - 1 // 배열의 크기를 리턴을 합니다



For i = 0 To aa

s = myarray(i)(0)

s1 = myarray(i)(1)

List1.AddItem (s & "," & s1) // 리스트박스 입력시 묵시적 형 변환, 입력

Next i



---------------------------------------------------------------------------------



var

ProcessList : Variant;

List : Variant ;

Arr_Cnt, i : Integer ;

myVal,myVal1 : Variant ;

begin

try

ProcessList := CreateOLEObject('ASPsvg.Process');



List := ProcessList.GetProcessList;

//?? Cnt := High(List) - 1;



1. VB에서 처럼 List의 크기를 리턴하고 싶습니다.

VB에서는 Valiant형도 배열의 동일한 타입으로 리턴이 가능하므로

배열에서처럼 크기가 리턴이 됩니다.

VB: Ubound(배열) / Delphi: High(배열)



2. For문내에서 List의 배열값을 Valiant형으로 입력을 하고자 하는데

어떠한 방법이 있는지 알고 싶습니다.



결국, 위 VB소스는 제대로 작동을 하며, 위와 같은 기능을 가질 수 있도록

하고자 합니다.

어떠한 힌트라도 저에게 큰 도움을 될겁니다.

[참고] //?? 부분은 에러가 나는 부분입니다.



for i := 0 to 사이즈 do

begin

//?? myVal := List[i,0];

//?? myVal1 := List[i,1];



//ListBox1.Items.Add(List[i,0]);

end;





except

Application.MessageBox('실패'+Chr(13)+

'RealTimeEncoder가 설치되지 않았습니다','오류',MB_OK);

end;

0  COMMENTS