Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.25;
Скачать: 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 вся ветка

Текущий архив: 2005.09.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.044 c
4-1122801708
Pasha L
2005-07-31 13:21
2005.09.25
Как получить список запущенных приложений


14-1125430963
iZEN
2005-08-30 23:42
2005.09.25
Checked-exceptions, добро или зло?


1-1125561181
aybolit66
2005-09-01 11:53
2005.09.25
запуск одного экземпляра приложения


1-1125964814
Wood
2005-09-06 04:00
2005.09.25
Про сис. реестр


1-1125410721
CrowD
2005-08-30 18:05
2005.09.25
Вызов метода минуя непосредственного предка?