3 votes

Safearray bidimensionnel dans delphi ?

J'ai besoin d'Unittester une méthode COM, pour cela je dois créer un Safearray à deux dimensions de type string.

Comment faire ?

5voto

David Heffernan Points 292687

Créez un tableau à deux dimensions comme ceci :

var
  arr: Variant;
....
arr := VarArrayCreate([1, 10, 1, 5], varInteger);

Cela crée un tableau dont la dimension primaire a des limites de 1 à 10 et dont la dimension secondaire a des limites de 1 à 5 :

      1      2      3      4      5 

 1 [1,1] [1,2] [1,3]| [1,4]| [1,5]

 2 [2,1] [2,2] [2,3]| [2,4]| [2,5]

 3 [3,1] [3,2] [3,3]| [3,4]| [3,5]

 4 [4,1] [4,2] [4,3]| [4,4]| [4,5]

 5 [5,1] [5,2] [5,3]| [5,4]| [5,5]

 6 [6,1] [6,2] [6,3]| [6,4]| [6,5]

 7 [7,1] [7,2] [7,3]| [7,4]| [7,5]

 8 [8,1] [8,2] [8,3]| [8,4]| [8,5]

 9 [9,1] [9,2] [9,3]| [9,4]| [9,5]

10[10,1][10,2][10,3]|[10,4]|[10,5]

Lorsque vous dites que vous voulez créer un tableau qui contient des chaînes de caractères, je suppose que vous faites référence à la COM BSTR. Dans ce cas, passez varOleStr comme paramètre de type var lorsque vous appelez VarArrayCreate .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X