Вниз
Скачать: 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.026 c
2-1123704374
serko
2005-08-11 00:06
2005.09.25
Qreport


3-1123076033
redlord
2005-08-03 17:33
2005.09.25
как записать кавычку в строчное поле таблици через SQL запрос


14-1125759112
NewWonder
2005-09-03 18:51
2005.09.25
Работа в институте?


6-1117537091
SanG
2005-05-31 14:58
2005.09.25
Есть ли подтверждение получения у сокетов ?


14-1125924810
DeMoN-777
2005-09-05 16:53
2005.09.25
Посоветуйте программу




   Наверх