IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi .NET Discussion :

[D2005]Problème de tableaux dynamique


Sujet :

Delphi .NET

  1. #1
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut [D2005]Problème de tableaux dynamique
    Salut,
    qui peut vérifier ce code sous D2005 ou D8 en .NET et confirmer le problème lorsqu'on bascule la directive $R- en $R+ ?
    Merci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    program Type11;
     
    {$APPTYPE CONSOLE}
     
    uses
      SysUtils;
     
    type
      TArrayStatic2D =Array[0..1,0..1] of byte;
      TArrayStatic2Dv2 = Array[0..1] of Array[0..1] of Byte;
     
      TArrayDynamique2D = Array of Array of Byte;
      TArrayDynamique2Dv2 =Array[,] of byte;
    var
      T1 : TArrayStatic2D; //System.Byte[,]
      T2 : TArrayStatic2Dv2; //System.Byte[][]
     
      T3 : TArrayDynamique2D; //System.Byte[][]
      T4 : Array[,] of byte;  //System.Byte[,]
     
      T5 : TArrayDynamique2Dv2; //System.Byte[,]
     
    begin
     T3:=New(TArrayDynamique2D,2,2);
     T4:=New(Array[,] of byte,((1,2),(3,4)));
     T5:=New(Array[2,2] of byte);
     //T5:=New(TArrayDynamique2Dv2,2,2); E2307
     
     T1[0,0]:=2;
     Writeln('T1[0,0] ',T1[0,0]);
     Writeln('T1[0][0] ',T1[0][0]);
     Writeln;
     
     T3[0,0]:=2;
     Writeln('T3[0,0] ',T3[0,0]);
     Writeln('T3[0][0] ',T3[0][0]);
     Writeln;
     
     {$R-} // Bug with R+
     
     Writeln('T4[0,0] ',T4[0,0]); // With R+ Exception -> System.NullReferenceException
     Writeln('T4[0][0] ',T4[0][0]);
     Writeln;
     
     T5[0,0]:=2;
     Writeln('T5[0,0] ',T5[0,0]);
     Writeln('T5[0][0] ',T5[0][0]);
     
     Readln;
     
    end.

  2. #2
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Chez moi aucun problème : Delphi 2005 .NET, application console .NET aucune différence entre {$R-} et {$R+}
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  3. #3
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    par hazar la directive $R pour les fichier resource ,,Non??
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  4. #4
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par edam
    par hazar la directive $R pour les fichier resource ,,Non??
    Non pas dans ce contexte : Vérification des limites {$R+} ou {$RANGECHECKS ON}
    Pour les ressources {$R *.res}

    Citation Envoyé par sjrd
    Chez moi aucun problème : Delphi 2005 .NET, application console .NET aucune différence entre {$R-} et {$R+}
    Merci, donc le comportement normal...

    Quel SP Delphi as-tu d'installé ?
    Tu as effectué qq maj du sdk .NET 1.1 ou pas ?
    Le pb c'est que j'ai le soucis aussi en dehors de l'EDI

  5. #5
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Citation Envoyé par Laurent Dardenne
    Quel SP Delphi as-tu d'installé ?
    Delphi Archi SP 3 (le max à ce jour quoi )
    Citation Envoyé par Laurent Dardenne
    Tu as effectué qq maj du sdk .NET 1.1 ou pas ?
    Non aucune : c'est le SDK .NET fourni avec D2005 Archi
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  6. #6
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Merci, bon bah je suis d'dans alors !

  7. #7
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Toutes mes excuses J'avais pas vu le {$R-} vers la fin de ton fichier. Je mettais la directive au début du prog Je viens de m'appercevoir de mon erreur.
    Mais en effet avec {$R+} la fin plante avec un System.NullReferenceObject

    Encore heureux que je m'en rend compte
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  8. #8
    Membre actif
    Avatar de Eric.H
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 220
    Points : 286
    Points
    286
    Par défaut
    Citation Envoyé par sjrd
    Non aucune : c'est le SDK .NET fourni avec D2005 Archi
    J'ai cru voir une mise a jours dur .NET 1.1 via windows update, il y a quelque temps....

    a près recherche :
    Microsoft .NET Framework 1.1 Service Pack 1
    Microsoft .NET Framework 1.1 Service Pack 1 résout plusieurs problèmes décelés après la sortie initiale de .NET Framework 1.1. Certains de ces problèmes sont liés à des questions de sécurité, d'autres non. Une fois cet élément installé, vous serez peut-être amené à redémarrer l'ordinateur. Après son installation, l'élément ne peut pas être supprimé.


    Deux jours plus tard une mise a jours de sécurité pour le .NET 1.1SP1

    C'est peut être ta solution

  9. #9
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par sjrd
    Encore heureux que je m'en rend compte
    Et pas qu'un peu, merci j'allais me lancer dans des tests de reconstruction pas à pas! Une bonne nouvelle

    Pourtant la directive est locale, son emplacement ne devrais pas gêner ?
    De plus il semblerait que cela se produise uniquement avec les tableaux dynamique multidimenssionel de type Array[,] of.

    Citation Envoyé par Eric.H
    C'est peut être ta solution
    Je vais tester ça, merci. J'ai vérifié hier soir mais j'ai dû passer à coté %-)

    Mais au vu du code le compilo n'utilise que des assemblages Borland voir un seul Borland.Delphi.System.
    Enfin c'est un peu prématuré de donner une explication ...

    Merci

Discussions similaires

  1. problème des tableaux dynamiques (tas)
    Par oussaki dans le forum C
    Réponses: 7
    Dernier message: 26/12/2011, 11h25
  2. Réponses: 6
    Dernier message: 20/02/2007, 17h00
  3. Réponses: 2
    Dernier message: 10/12/2006, 09h57
  4. [Tableaux] Problème d'array dynamique
    Par Peacecraft95 dans le forum Langage
    Réponses: 6
    Dernier message: 26/07/2006, 15h24
  5. Problème avec tableaux dynamiques et procédure
    Par K20 dans le forum Langage
    Réponses: 11
    Dernier message: 06/01/2006, 20h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo