Главная страница
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.029 c
14-1125361973
ЗЛО
2005-08-30 04:32
2005.09.25
Редактор хелп-файлов.


14-1125338455
Piter
2005-08-29 22:00
2005.09.25
Разблокировка клавиатуры на Панасониках


2-1124229284
Просьба
2005-08-17 01:54
2005.09.25
Как отследить уход мыши с TImage?


14-1125296936
Kerk
2005-08-29 10:28
2005.09.25
Библия: Иосиф.


3-1123748480
topmoz
2005-08-11 12:21
2005.09.25
Запрос на запись в таблицу