Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.023 c
3-1123656843
Denis
2005-08-10 10:54
2005.09.25
Access не воспринимает запрос


14-1123609221
rts111
2005-08-09 21:40
2005.09.25
Оцените программу


1-1125487181
Пономарев Андрей
2005-08-31 15:19
2005.09.25
Числа с плавающей точкой


14-1125679258
Джо
2005-09-02 20:40
2005.09.25
Delphi 2005 - Generate XML documentation


14-1125407474
DVM
2005-08-30 17:11
2005.09.25
Курсы по оборудованию CISCO.




   Наверх