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

Composants FMX Delphi Discussion :

FMX TStringGrid.InsertObject -> résultat bizarre


Sujet :

Composants FMX Delphi

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 400
    Points : 171
    Points
    171
    Par défaut FMX TStringGrid.InsertObject -> résultat bizarre
    En FMX je fais sans problème l'ajout de colonne par programmation sur une TStringGrid après en avoir défini quelques caractéristiques dans le genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    IntegerColumn:=TIntegerColumn.Create(StringGrid);
    IntegerColumn.Header:='Integer';
    IntegerColumn.Width:=80;
    StringGrid.AddObject(IntegerColumn);
    // StringGrid.ColumnCount s'incrémente de 1
    Si j'utilise InsertObject le ColumnCount s'incrémente de 2 !
    La Colonne souhaitée s'insère à la bonne place, mais la colonne "surnuméraire" n'apparaît pas.
    Et si j'essaye d'accéder cette dernière colonne définie par ColumnCount-1, j'ai une erreur d'étendue, ce qui me pose des problèmes lors d'une boucle bornée sur ColumnCount-1.

    En inspectant les variables, il s'avère que la colonne que j'insère se créée bien au bon endroit, mais également en une colonne supplémentaire en dernière colonne, mais c'est une colonne "fantôme" car si elle est dans le ColumnCount elle est inaccessible car l'utilisation de son indice provoque une erreur d'étendue.

    Si j'ajoute une autre colonne ensuite par AddObject, cette fameuse colonne fantôme apparaît et elle est accessible, alors même que je n'ai jamais voulu la créer.

    Après plusieurs essais, la colonne fantôme qui se fabrique en double de celle qui s'insère normalement apparaît parfois, mais si je veux la supprimer, erreur violation.

    Est ce que quelqu'un a déjà constaté ce phénomène ?

    Merci d'avance des pistes que vous pourrez me donner.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 400
    Points : 171
    Points
    171
    Par défaut
    Alors pour être sûr que les autres traitements dans mon programme n'était pas responsables de cet apparent dysfonctionnement, j'ai fait un tout petit programme avec juste 3 boutons Add, Insert, et Del ainsi qu'un spinbox permettant de sélectionner l'endroit de l'insertion ou la colonne à supprimer, un label pour afficher le nombre de colonnes et ainsi bien sûr qu'un stringgrid vide.

    La démonstration est assez simple, il suffit d'ajouter quelques colonnes et de choisir ensuite un point d'insertion pour voir apparaître, bien sûr la colonne qui s'est insérée, mais aussi cette colonne surnuméraire complètement à droite.
    Ensuite, toute tentative pour supprimer cette colonne est vouée à l'erreur, même si entre temps on a pu rajouter d'autres colonnes !

    Je serai curieux de savoir si c'est moi qui fait n'importe quoi ou si ça ressemble à un bug.

    Peut-être que je n'utilise pas bien cette instruction ?

    Merci de vos réactions.

    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    unit Unit2;
     
    interface
     
    uses
      System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
      FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, System.Rtti,
      FMX.Grid.Style, FMX.StdCtrls, FMX.ScrollBox, FMX.Grid,
      FMX.Controls.Presentation, FMX.Edit, FMX.EditBox, FMX.SpinBox;
     
    type
      TForm2 = class(TForm)
        Panel1: TPanel;
        Panel2: TPanel;
        grid: TStringGrid;
        CornerButton1: TCornerButton;
        CornerButton2: TCornerButton;
        SpinBox1: TSpinBox;
        CornerButton3: TCornerButton;
        Label1: TLabel;
        Label2: TLabel;
        procedure CornerButton1Click(Sender: TObject);
        procedure CornerButton2Click(Sender: TObject);
        procedure CornerButton3Click(Sender: TObject);
      private
        procedure NumeroteCol;
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form2: TForm2;
     
    implementation
     
    {$R *.fmx}
     
    procedure TForm2.NumeroteCol;
    begin
    For var i:=0 to grid.Columncount-1 do
       grid.cells[i,0]:=i.tostring;
    end;
     
    procedure TForm2.CornerButton1Click(Sender: TObject);
    var
       SCol: TStringColumn;
    begin
    SCol:=TStringColumn.create(grid);
    SCol.HeaderSettings.TextSettings.HorzAlign:=TTextAlign.Center;
    SCol.Header:='Ajout '+grid.columncount.tostring;
    SCol.width:=80;
    grid.addobject(SCol);
    Label2.Text:=grid.ColumnCount.ToString;
    NumeroteCol
    end;
     
    procedure TForm2.CornerButton2Click(Sender: TObject);
    var
       SCol: TStringColumn;
    begin
    SCol:=TStringColumn.create(grid);
    SCol.HeaderSettings.TextSettings.HorzAlign:=TTextAlign.Center;
    SCol.Header:='Insert '+round(spinbox1.value).ToString;
    SCol.width:=80;
    grid.insertobject(round(spinbox1.value), SCol);
    Label2.Text:=grid.ColumnCount.ToString;
    NumeroteCol
    end;
     
    procedure TForm2.CornerButton3Click(Sender: TObject);
    begin
    grid.Columns[round(spinbox1.value)].Free;
    Label2.Text:=grid.ColumnCount.ToString;
    NumeroteCol
    end;
     
    end.
    et la Form :
    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    object Form2: TForm2
      Left = 0
      Top = 0
      Caption = 'Form2'
      ClientHeight = 561
      ClientWidth = 958
      FormFactor.Width = 320
      FormFactor.Height = 480
      FormFactor.Devices = [Desktop]
      DesignerMasterStyle = 0
      object Panel1: TPanel
        Align = Top
        Size.Width = 958.000000000000000000
        Size.Height = 25.000000000000000000
        Size.PlatformDefault = False
        TabOrder = 1
        object CornerButton1: TCornerButton
          Align = Left
          Margins.Right = 10.000000000000000000
          Sides = [Top, Left, Bottom, Right]
          Size.Width = 80.000000000000000000
          Size.Height = 25.000000000000000000
          Size.PlatformDefault = False
          TabOrder = 2
          Text = 'Add'
          TextSettings.Trimming = None
          XRadius = 3.000000000000000000
          YRadius = 3.000000000000000000
          OnClick = CornerButton1Click
        end
        object CornerButton2: TCornerButton
          Align = Left
          Margins.Right = 10.000000000000000000
          Position.X = 90.000000000000000000
          Sides = [Top, Left, Bottom, Right]
          Size.Width = 80.000000000000000000
          Size.Height = 25.000000000000000000
          Size.PlatformDefault = False
          TabOrder = 1
          Text = 'insert'
          TextSettings.Trimming = None
          XRadius = 3.000000000000000000
          YRadius = 3.000000000000000000
          OnClick = CornerButton2Click
        end
        object SpinBox1: TSpinBox
          Touch.InteractiveGestures = [LongTap, DoubleTap]
          Align = Left
          TabOrder = 3
          Cursor = crIBeam
          Value = 2.000000000000000000
          Position.X = 180.000000000000000000
          Margins.Right = 10.000000000000000000
          Size.Width = 100.000000000000000000
          Size.Height = 25.000000000000000000
          Size.PlatformDefault = False
        end
        object CornerButton3: TCornerButton
          Align = Left
          Margins.Right = 10.000000000000000000
          Position.X = 290.000000000000000000
          Sides = [Top, Left, Bottom, Right]
          Size.Width = 80.000000000000000000
          Size.Height = 25.000000000000000000
          Size.PlatformDefault = False
          TabOrder = 0
          Text = 'Del'
          TextSettings.Trimming = None
          XRadius = 3.000000000000000000
          YRadius = 3.000000000000000000
          OnClick = CornerButton3Click
        end
        object Label1: TLabel
          Align = Left
          Position.X = 380.000000000000000000
          Size.Width = 86.000000000000000000
          Size.Height = 25.000000000000000000
          Size.PlatformDefault = False
          Text = 'ColumnCount :'
          TabOrder = 5
        end
        object Label2: TLabel
          Align = Left
          Position.X = 466.000000000000000000
          Size.Width = 45.000000000000000000
          Size.Height = 25.000000000000000000
          Size.PlatformDefault = False
          TabOrder = 4
        end
      end
      object Panel2: TPanel
        Align = Client
        Size.Width = 958.000000000000000000
        Size.Height = 536.000000000000000000
        Size.PlatformDefault = False
        TabOrder = 0
        object grid: TStringGrid
          Align = Client
          CanFocus = True
          ClipChildren = True
          Size.Width = 958.000000000000000000
          Size.Height = 536.000000000000000000
          Size.PlatformDefault = False
          TabOrder = 0
          Viewport.Width = 954.000000000000000000
          Viewport.Height = 511.000000000000000000
        end
      end
    end

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 288
    Points : 41 747
    Points
    41 747
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    perso, je n'ai pas constaté ce problème (en D12.1, la version ayant peut-être son importance)
    j'ai écrit un code simple un peu à ta manière, j'espère ne pas m'être trompé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TForm5.Button1Click(Sender: TObject);
    begin
    var IntegerColumn:=TIntegerColumn.Create(StringGrid1);  // oui, j'utilise un varinline par paresse ;)
    IntegerColumn.Header:=format('Integer %d',[stringgrid1.ColumnCount]);  // je suis le columncount grâce à ça
    //IntegerColumn.name:=format('Integer%.2d',[stringgrid1.ColumnCount]); // j'aurais nommé
    IntegerColumn.Width:=80;
    StringGrid1.AddObject(IntegerColumn);
    // integercolumn.parent:=stringGrid1;  // je préfére cette écriture à AddObject mais cela reveient au même
    end;
    Selon ta déclaration, les numéros ne devrait pas être incrémenté 1,2,3 ... mais 1,3, ?
    or
    Nom : Video_2024-09-24_071450.gif
Affichages : 82
Taille : 82,2 Ko

    par contre, curieux, j'ai tenté par la suite StringGrid1.insertobject(1,IntegerColumn à la place et là, je retrouve tes "fantômes"
    Nom : Capture.PNG
Affichages : 79
Taille : 8,6 Ko
    sans parler des énormes fuites de mémoire

    Par contre, en ajoutant (à la suite du StringGrid1.AddObject) l'instruction ColumnInteger.index:=1; j'obtiens bien le résultat souhaité
    Nom : Capture.PNG
Affichages : 109
Taille : 9,6 Ko

    dans un coin de ma tête il y a les colonnes invisibles qui me titillent (VisibleColumnCount)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 400
    Points : 171
    Points
    171
    Par défaut
    Oui le AddObject fonctionne très bien, c'est le InsertObject qui semble bugué ...
    J'ai essayé de suivre en pas à pas au sein de la multitude de méthodes appelées, mais c'est très complexes et je m'y perd.
    En tout cas, ça passe par un GetModel qui est très long à charger chez moi (manque de mémoire).
    J'ai l'impression que insertObject fait un addobject en plus ...
    Toi qui a le bras long en tant que MVP tu pourrais peut-être le signaler ?

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 288
    Points : 41 747
    Points
    41 747
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par navyg Voir le message
    Toi qui a le bras long en tant que MVP
    je suis loin d'être le maire de Morlaix (du moins est-ce ainsi que l'on parle du bras long par chez moi)

    tu pourrais peut-être le signaler ?
    certes, si ce n'est déjà signalé et il faut que je vérifie aussi avec la version 12.2 car si c'est corrigé dans cette version je doute qu'un patch soit fait pour la 12.1.

    [Edit]le bogue ne semble pas signalé, mais il faut se souvenir qu'en début d'année le service de rapport de bogue a changé, je vais donc tout d'abord en parler avec d'autres MVP via un forum privé après le test 12.2
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  6. #6
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 446
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 446
    Points : 5 867
    Points
    5 867
    Par défaut
    Salut

    ne serait ce pas due à l'indice de l'insertion
    si tu n'as pas d'enregistrement et que tu veux le mettre à l'indice 1
    il va forsement creer l'indice 0 count 1 et ensuite ton element
    indice 1 count 2
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 400
    Points : 171
    Points
    171
    Par défaut
    Citation Envoyé par anapurna Voir le message
    Salut

    ne serait ce pas due à l'indice de l'insertion
    si tu n'as pas d'enregistrement et que tu veux le mettre à l'indice 1
    il va forsement creer l'indice 0 count 1 et ensuite ton element
    indice 1 count 2
    Non car quel que soit l'indice d'insertion cela fait pareil. La colonne s'insère bien au bon endroit mais une deuxième colonne s'ajoute à la fin comme si un AddObject avait été exécuté (avant ou après le InsertObject, je n'ai pas pu le déterminer), mais cette colonne est inaccessible (erreur d'étendue je crois). Et le ColumnCount s'incrémente de 2 au lieu de 1, alors que je n'ai fait qu'un seul InsertObject.

    Je vais essayer de faire quelques copies d'écrans.

  8. #8
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 288
    Points : 41 747
    Points
    41 747
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par navyg Voir le message
    Je vais essayer de faire quelques copies d'écrans.
    pas besoin, il y a déjà l'image 2 de mon post qui montre le problème

    après test avec la version 12.2, même problème donc j'ai reporté la question chez les MVPs j'attends donc leurs retours
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 400
    Points : 171
    Points
    171
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour,

    Selon ta déclaration, les numéros ne devrait pas être incrémenté 1,2,3 ... mais 1,3, ?
    En fait pour mieux me repérer, j'ai intitulé les colonnes crées par AddObject Ajout+ numéro de la colonne créée, donc je pars de 0, et les pour les colonnes créées avec InsertObject, je les ai nommées Insert+l'indice d'insertion.

    Ensuite pour ne pas me perdre, je rappelle l'indice des colonnes dans la grid.

    Voici les étapes :
    Ajout d'une 1ère colonne :
    Nom : après ajout 1ere col.png
Affichages : 76
Taille : 3,1 Ko

    Ajout d'une deuxième colonne :
    Nom : après ajout 2ème colonne.png
Affichages : 76
Taille : 3,2 Ko

    Ajout d'une troisième colonne :
    Nom : après ajout 3ème colonne.png
Affichages : 74
Taille : 3,3 Ko

    Ajout d'une quatrième colonne :
    Nom : après ajout 4ème colonne.png
Affichages : 74
Taille : 3,4 Ko

    Insertion d'une colonne à l'indice 2 :
    Nom : après insertion à l'indice 2 avec repères.png
Affichages : 74
Taille : 3,7 Ko

    En vert la colonne insérée normalement, en rouge la colonne non désirée.

    ET on voit bien que le ColumnCount est passé de 4 à 6 !

    C'est très déroutant ...!

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 400
    Points : 171
    Points
    171
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    pas besoin, il y a déjà l'image 2 de mon post qui montre le problème

    après test avec la version 12.2, même problème donc j'ai reporté la question chez les MVPs j'attends donc leurs retours
    Merci, même si je ne m'attends pas à grand chose sur la 12.1 ...CE qui plus est

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 400
    Points : 171
    Points
    171
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Par contre, en ajoutant (à la suite du StringGrid1.AddObject) l'instruction ColumnInteger.index:=1; j'obtiens bien le résultat souhaité
    Nom : Capture.PNG
Affichages : 109
Taille : 9,6 Ko
    Je n'avais pas fait attention à cette phrase, mais c'est vraiment la bonne solution !
    Je croyais que TColumn.index était en lecture seule, mais non, on peut aussi le définir.
    Et ça permet tout simplement de créer la colonne et de fixer son index ensuite.
    Merci Sergio, c'est juste ce qu'il me fallait.

    Mais c'est quand même bizarre que le InserObject ne fonctionne pas alors que AddObject n'a pas de soucis.

  12. #12
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 288
    Points : 41 747
    Points
    41 747
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par navyg Voir le message
    Mais c'est quand même bizarre que le InserObject ne fonctionne pas alors que AddObject n'a pas de soucis.
    à mon avis ça coince niveau grid.model
    en tout cas dans mon "pas à pas" je m'étais suis arrêté là
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 400
    Points : 171
    Points
    171
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    à mon avis ça coince niveau grid.model
    en tout cas dans mon "pas à pas" je m'étais suis arrêté là
    Oui moi aussi, après je ne comprends plus grand chose ...

  14. #14
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 288
    Points : 41 747
    Points
    41 747
    Billets dans le blog
    65
    Par défaut
    J'ai ouvert une notification de bug https://embt.atlassian.net/servicede...tal/1/RSS-1920, on verra si elle sera acceptée puis remontée aux développeurs ...
    NB. j'ai testé 4 versions (10.3,11.3.1,12.1 et 12.2)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 400
    Points : 171
    Points
    171
    Par défaut
    Merci
    Je ne peux pas aller voir
    Avec ma version CE je n'ai pas accès ;o)

  16. #16
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 288
    Points : 41 747
    Points
    41 747
    Billets dans le blog
    65
    Par défaut
    Normalement, tout utilisateur de RadStudio (Delphi ou C++ Builder) peut accéder au portail qualité pour peu de s'inscrire sur celui-ci

    Please login or create a new account. We recommend using the same email associated with your Embarcadero license.
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 400
    Points : 171
    Points
    171
    Par défaut
    J'ai essayé, mais j'ai cette réponse :

    No Access
    You do not have permission to view this request.
    View other portals

Discussions similaires

  1. [Lazarus] Comportement bizarre du tri dans un TStringGrid
    Par ChPr dans le forum Lazarus
    Réponses: 4
    Dernier message: 13/11/2023, 15h13
  2. [Desktop] TStringGrid FMX et sélections
    Par SergioMaster dans le forum Composants FMX
    Réponses: 10
    Dernier message: 09/07/2022, 19h22
  3. Réponses: 6
    Dernier message: 04/01/2017, 10h44
  4. [Berlin] Evénements manquants FMX.Grid.TStringGrid
    Par Wachter dans le forum Composants FMX
    Réponses: 7
    Dernier message: 31/05/2016, 09h07
  5. [Interface] [FMX]Positionner correctement la flèche d'une colonne de TStringGrid
    Par gandf dans le forum C++Builder
    Réponses: 1
    Dernier message: 02/03/2014, 18h50

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