2010-11-22 7 views
2

hi i J'ai un problème lorsque j'utilise un tableau dynamique bidimensionnel. J'utilise ceci: procedure ListDeleted (FilesList: array of array de Integer); Delphi me donne l'erreur de compilation Comment puis-je résoudre ce problème?Comment puis-je utiliser un tableau dynamique bidimensionnel en tant que paramètres de fonction?

+1

Si vous avez trouvé une réponse qui a fonctionné pour vous, vous devez la choisir comme réponse acceptée (en cliquant sur la coche à côté de celle-ci) – mjn

Répondre

11

Déclare le type tableau d'abord, puis utilisez dans la liste des paramètres

type 
    T2DIntArr = array of array of Integer; 

... 

ListDeleted(FilesList: T2DIntArr); 
+0

que vous le faites – micheal

+5

@micheal, si c'est la réponse qui a fonctionné vous, vous devez le choisir comme réponse acceptée (en cliquant sur la coche à côté). – vcldeveloper

2

Définir un type personnalisé:

type 
    TIntArray2 = array of array of Integer; 

Si vous venez de lire le contenu des paramètres dans ListDeleted, utilisez

procedure ListDeleted(const FilesList: TIntArray2) 

Si les paramètres sont sur le point d'être modifiés à l'intérieur, utilisez

procedure ListDeleted(var FilesList: TIntArray2) 

Si les paramètres doivent être modifiés en interne, mais la modification ne doit pas se propager à l'appelant, utilisez

procedure ListDeleted(FilesList: TIntArray2) 

Mais remarquez que la dernière déclaration (sans const ni var) fera une copie temporaire du tableau avant d'appeler ListDeleted, ce qui n'est pas une bonne idée pour les performances.

Questions connexes