qd je ne le mets pas ca plante directement
pour mes 10 checkbox une idée ? qd j'en ai 9 ca passe 10 ca casse
qd je ne le mets pas ca plante directement
pour mes 10 checkbox une idée ? qd j'en ai 9 ca passe 10 ca casse
oui. ça ressemble à un dépassement de capacité du tableau.
tu fais bien
setLentgth( ???, MonTableau);
for i := 0 to length(monTableau) - 1 do
Begin
MonTableau[i]:= Tcheckbox.create
...
End;
comme indiqué précedemment, un tableau ou une liste vont de 0 à length -1
oui oui ca c'est bon, mon tableau n'a pas de taille prédéfinie donc ca le ferait avec n'importe quel nombre, ici de 0 à 9 ok mais plus ca veut pas
comment détermines tu le nombre de checkbox à créer?
et enlève le tag résolu. d'autres personnes s'interesseront à ton problème
de 0 a 9 ca fait bien 10 iterations ..... si tu va jusqu'a 10 ca fait 11 ... pour un tableau de 10 elements ca risque de coincer
les tableaux dynamiques vont de 0 a N-1 !!
Sinon explique plus en detail ton histoire de application.createform car moi je vois 2 declaration sur la meme variable .... et ca ca sent pas bon
le query est limité par l'utilisateur qd je le mets entre 0 et 9 c'est bon
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var chk:array of tcheckbox; SetLength(chk, form_do.querydo_dor.recordcount-1);
10 ce n'est plus bon pour la création des checkbox
étant donné le setlength je devrais avoir le problème tout le temps si j'avais un problème de taille de tableau
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 for i:=0 to form_Do.Querydo_dor.RecordCount-1 do begin chk[i] := Tcheckbox.Create(Self); chk[i].Parent := jvgroupbox1; chk[i].hint:=inttostr(form_do.querydo_dor.FieldByName('pk_dossier').asinteger); chk[i].Caption := form_do.querydo_dor.FieldByName('nom_dossier').asstring+' '+datetostr(form_do.querydo_dor.FieldByName('date_der_pr').asdatetime); chk[i].Left := 3; chk[i].Top:=j; chk[i].Width:=600; j:=j+20; form_do.Querydo_Dor.Next; end;
ca va je viens de voir
setlentgh(chk,query.recordcount -1) je dois pas avoir le -1 mais alors qd on declare un tableau setlength(chk,4);
y'a bien 4 éléments mais pourquoi il ne plantait pas avec 4 par exemple ?
il créait un tableau de 10 éléments qd meme ?
ET oui ... si tu creer un tableau de N-1 elements ... faut boucler de 0 a (N-1)-1 elements .... soit N-2Envoyé par Mihalis
Pour ce qui est du 10e elements .... je miserais plus sur un probleme de BdD plus que de creation a proprement parler.
Parce que au niveau creation dynamique . .tu peux en creer 200 si ca te chante
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager