Gambas France BETA


Pas de compte ? Incription

incrément de ligne d'impression

Ce sujet est résolu.

12
AuteurMessages
valaquarus#16 Posté le 10/3/2018 à 13:51:12
-- Unus Ex Altera --
En générant l'exécutable avec l'IDE j'ai une erreur à l'exécution qui dit ceci (je ne peux toujours pas insérer d'image) :
This application has raised an unexpected error and must abort
Jusque là j'avais compris, la suite :
[2] Cannot load class'_RepExp':Cannot load parent class : cannot load class 'Expression';Unable to load parent class file. ReportLabel._GetSizeHints.41
That's all folks!


Le fichier exécutable généré par l'IDE ne me fait plus cette erreur sans que je sache quelle modification j'ai bien pu faire pour corriger la chose si même c'est moi qui ait corrigé quelque chose. "Bizarre vous avez dit bizarre comme c'est étrange." :confused:
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3
valaquarus#17 Posté le 10/3/2018 à 13:56:29
-- Unus Ex Altera --Dans ton code, Patrick, les _Data se déclenchent "tout seul" juste parce que tu as mis : ReportHlig.DataCount = $snumed.Count dans la sub _new ?
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3
Patrick#18 Posté le 10/3/2018 à 14:27:00
Oui c'est bien ça, c'est le DataCount qui déclenche la boucle d’événement.
valaquarus#19 Posté le 10/3/2018 à 16:24:39
-- Unus Ex Altera --Bon j'ai bien une bizarrerie sur ma machine ça ne marche pas les événements ne se déclenche pas seuls. Si je les appelle directement pour une ligne ça marche, pour plusieurs je n'y arrive pas. Voici ce qui reste du code : (plus de boucle infernale)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
PUBLIC SUB _new()
IF db.Current.Opened = FALSE THEN
db.Current.Open
ENDIF
FMain.Resultat = DB.Current.Exec(FMain.triBase)
IF FMain.Resultat.Available = TRUE THEN
ReportHBox2.DataCount = FMain.Resultat.Count ' ici j'obtiens bien le nombre de lignes correspondant à la requête
ENDIF
END

PUBLIC SUB RptLblRCC1_Data(Index AS INTEGER) ' un des événements qui ne se déclenchent pas, ils sont tous similaires
FMain.Resultat.MoveTo(Index) ' il n' y a plus de champs calculés que les champs de la base
LAST.Data = FMain.Resultat!rcc
END
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3
Patrick#20 Posté le 10/3/2018 à 16:55:02
C'est :
1
RptLblRCC1.Data = FMain.Resultat!rcc


Et non pas last.data
valaquarus#21 Posté le 10/3/2018 à 19:18:40
-- Unus Ex Altera --Oh oui j'ai essayé les deux, aucun ne fonctionne puisque les événements _data ne sont pas déclenchés. Il y a quelque chose sur ma machine qui ne fonctionne pas ou un réglage particulier qui est absent mais je ne sais pas ce que c'est. tous les exemples que j'ai trouvés sur internet vont dans le même sens et les mêmes façons de faire comme celles que tu m'as proposées mais ça ne fonctionne pas sur ma machine, c'est la version 3.10.0 qui est installée et même pas la version instable. il y a forcement quelque chose.
Bonsoir Patrick et merci en tout cas.
Philippe
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3
valaquarus#22 Posté le 10/3/2018 à 22:56:06
-- Unus Ex Altera --Je pense que les événements sont "détachés", comment fait on pour les "attachés"?
Pourquoi le seraient-ils?

Philippe

PS : je rajoute que les événements _beforedata et _afterdata fonctionnent bien j'y ai mis un message.info("coucou").
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3
valaquarus#23 Posté le 11/3/2018 à 20:36:31
-- Unus Ex Altera --Bonsoir,
En fait je me souviens avoir eu le même soucis avec un gridview pour déclencher son remplissage, j'avais contourné le problème en créant une routine qui remplissait le gridview, ligne par ligne, comme ça :
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
WITH GridView1
GridView1.Rows.Count = Resultat.Count
'champs de la base****************************
.[Row, 0].Text = Resultat!numero
.[Row, 1].Text = Resultat!marque
.[Row, 2].Text = Resultat!reference
.[Row, 3].Text = Resultat!mms
.[Row, 4].Text = Resultat!sd
.[Row, 5].Text = Resultat!fr
.[Row, 6].Text = Resultat!qt
.[Row, 7].Text = Resultat!qm
.[Row, 8].Text = Resultat!rcc

.[Row, 9].Text = Resultat!a
.[Row, 10].Text = Resultat!b
.[Row, 11].Text = Resultat!c
.[Row, 12].Text = Resultat!d
'champs calculés*****************************
.[Row, 13].Text = CStr(Format(cQTD, frmt1))
.[Row, 14].Text = CStr(Format(cCHP, frmt1))
.[Row, 15].Text = CStr(Format(cFA, frmt1))
.[Row, 16].Text = CStr(Format(cEFF, frmt1))
.[Row, 17].Text = CStr(Format(cRend, frmt1))
.[Row, 18].Text = CStr(Format(cQE, frmt1))
.[Row, 19].Text = CStr(Format(cSAS, frmt1))
.[Row, 20].Text = CStr(Format(cLAS, frmt1))
.[Row, 21].Text = CStr(Format(cVAS, frmt1))
.[Row, 22].Text = CStr(Format(cMAS, frmt1))
.[Row, 23].Text = CStr(Format(cBL, frmt1))
.[Row, 24].Text = CStr(Format(cDS, frmt1))
END WITH

Ça fonctionne très bien, on voit d'ailleurs la similitude avec le Report mais j'ai abandonné le _Data (il est vide) car il ne se déclenchait pas.
Même souci mais là je bloque car je n'arrive pas à gérer la boucle d'impression.
Philippe
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3
Patrick#24 Posté le 11/3/2018 à 21:12:03
Il y a un autre moyen d'utiliser les report, c'est de les construire avec du code, tu trouvera un exemple ici : https://github.com/PatrickMag/Commande/commit/cbab1886d3da45f1d8ad9160c1bb4eb10ef65203
Il doit même y avoir un gridview qui se garnit avec un _data.
valaquarus#25 Posté le 11/3/2018 à 21:37:23
-- Unus Ex Altera --Merci Patrick, je file de suite y jeter un œil.
Bonne nuit.
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3
valaquarus#26 Posté le 12/3/2018 à 22:45:34
-- Unus Ex Altera --Dernières nouvelles du front :
j'ai refait un petit projet de gestion de base de données de façon à générer un report tout neuf et voir comment ça marche.
Et bien ça fonctionne bien, très bien même, c'est tellement facile avec gb.report2 qu'on y prend goût de suite. Bon ça c'était pour flatter les prog du gb.report2 maintenant je ne comprends toujours pas ce qu'il y a de particulier dans mon projet en cours qui fait que cela ne fonctionne pas alors qu'au niveau code c'est complètement équivalent à ce que je viens de faire en test.
Ce n'est pas la machine puisque sur un prog ça marche et sur un autre non. Au niveau composants j'y ai mis les mêmes pour être sûr que ça ne vienne pas de là. Je rappelle pour ceux qui n'auraient pas suivi que dans mon projet en cours, les événements _data ne se déclenchent pas, sur les datagrid comme sur les report.
Philippe
PS : Un grand merci à Patrick d'avoir fait cas de mon histoire.
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3
valaquarus#27 Posté le 14/3/2018 à 22:13:28
-- Unus Ex Altera --Bonsoir,
la suite de l'histoire :
je viens de m'apercevoir que le fichier exe créer par l'IDE plante avec le même message dans le programme test que dans mon projet.
Voici le message qui s'affiche quand je lance le preview d'un report :
This application has raised an unexpected error and must abort
[2] Cannot load class'_RepExp':Cannot load parent class : cannot load class 'Expression';Unable to load parent class file. ReportLabel._GetSizeHints.41

Si une âme charitable vient à passer par là, je veux bien un peu d'aide.
Philippe.
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3
didier18#28 Posté le 14/3/2018 à 22:48:16
Bonsoir valaquarus

"This application has raised an unexpected error and must abort
[2] Cannot load class'_RepExp':Cannot load parent class : cannot load class 'Expression';Unable to load parent class file. ReportLabel._GetSizeHints.41"

"Cette demande a donné lieu à une erreur inattendue et doit être annulée.
2] Impossible de charger la classe' _RepExp': Impossible de charger la classe parent: ne peut pas charger la classe'Expression'; Impossible de charger le fichier de la classe parent. ReportLabel. _GetSetSizeHints. 41"

Apparemment la ligne 41 serait à l'origine du problème...
Je n'y connais rien en base de données (ou si peu), pas plus que l'utilisation de report, néanmoins j’espère que cette traduction t'aidera à résoudre le problème...

Bonne fin de soirée.
valaquarus#29 Posté le 15/3/2018 à 09:49:10
-- Unus Ex Altera --Merci Didier18 de ta réponse sympathique.
En fait j'avais compris le sens de l'erreur mais je ne sais pas de quoi il retourne. Pourquoi le programme exe ne trouve t il pas certaines class quand il est lancé? Ligne 41 de quel fichier? (j'ai regardé toutes les lignes 41, pas d'erreur) Pourquoi l'IDE ne voit il pas cette erreur, il n'y a que l'exe qu'il génère qui soulève cette erreur.
qu'est c'est que ces class : _RepExp Expression ReportLabel _GetSizeHints qui ne peuvent pas être chargées?
Philippe.
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3
valaquarus#30 Posté le 15/3/2018 à 21:16:17
-- Unus Ex Altera --Bonsoir à tous, le dénouement :
Bon tout fonctionne selon mes vœux mais il faut que je vous raconte car je n'ai pas tout compris et si certains ont la solution qu'ils n'hésitent pas à nous informer.
- L'erreur généré par l'exe est corrigée en rajoutant gb.eval dans les composants.
- Les événements qui ne se déclenchaient pas j'ai réussit à les refaire fonctionner en changeant le nom du reportHBox qui contenait les champs et le nom du reportVBox qui contenait le reportHBox ; ceci en le faisant deux fois de suite avant que cela ne fonctionne.
- et je confirme que l'on peut faire des champs calculés dans les événements (_Data) sans problème.
Je vous souhaite un bonne soirée.
Philippe
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3
12