Форум: "Corba";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];
ВнизSafeArray Найти похожие ветки
← →
Vaitek © (2004-12-21 13:17) [0]Собственно, как его создать? А то в параметрах функции нужно указать SafeArray.
В хелпе как-то про него почти ничего не говорится. VarArrayCreate - не оно?
Delphi 7
← →
Vaitek © (2004-12-21 14:37) [1]Нашел:
Var
RootPoint :PSafeArray;
LV: TVarArrayBound;
Begin
LCount := 3 * SizeOf(Double);
LV.LowBound := 0;
LV.ElementCount := LCount;
RootPoint := SafeArrayCreate(varDouble, 1, LV);
End;
Сие то или не то, и будет ли оно работать?
Эламенты в массив добавляют через SafeArrayPutElement?
А что за третий параметр в ней, в хелпе я был - нифига не понял.
ХелпМе! Голова болит уже от всего этого.
← →
Vitalik © (2004-12-21 15:46) [2]Вот один пример из справки:
The following example creates a one-dimensional variant array with five elements. Each of the elements are of type Variant, and can therefore contain values of varying types, as is illustrated by the example. Notice in particular how the value of the last element of the array is itself a variant array.var
A: Variant;
begin
A := VarArrayCreate([0, 4], varVariant);
A[0] := 1;
A[1] := 1234.5678;
A[2] := "Hello world";
A[3] := True;
A[4] := VarArrayOf([1, 10, 100, 1000]);
WriteLn(A[2]); { Hello world }
WriteLn(A[4][2]); { 100 }
end;
Вот другой:type
PArrayData = ^TArrayData;
TArrayData = array[0..9, 1..3] of Integer;
var
A: Variant;
P: PArrayData;
I, J: Integer;
begin
A := VarArrayCreate([1, 3, 0, 9], varInteger);
P := VarArrayLock(A);
try
for I := 0 to 9 do
for J := 1 to 3 do
P^[I, J] := J * 10 + I;
finally
VarArrayUnlock(A);
end;
WriteLn(A[1, 9]); { 19 }
WriteLn(A[3, 4]); { 34 }
end;
← →
Vaitek © (2004-12-22 10:03) [3]А VarArray и SafeArray, в понятии дельфы - это одно и тоже?
Страницы: 1 вся ветка
Форум: "Corba";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.036 c