Topic: Plantage à l'ouverture d'un fichier

Bonjour
j'ai une serie de fichier Qelectrotech fait il y a une année, qui sont des déclinaisons d'une version de base.
Le premier fichier est en Qelectro V0.3 le dernier en 0.7
A l'ouverture de ces schémas j'ai un crash de Qelectrotech qui ne se produit pas avec d'autres fichers.

Système Debian Stretch Qelectrotech V0.7

Merci

François-Marie

Re: Plantage à l'ouverture d'un fichier

Bonjour François-Marie,

tu as essayé d'ouvrir le plus ancien avec les AppImages 0.5, ou 0.6 sur ta Debian, voir s'il fonctionne, ou si le problème vient de la 0.7?

C'est simple suffit de les télécharger les AppImages les rendre exécutables et de cliquer sur la version que tu veux pour que se lance cette version de QET.

Un bon test pour contrôler si un fichier .qet  dont le XML est corrompu est de le renommer en .xml et d'essayer de l'ouvrir avec XML copy editor.

Me semble avoir parlé sur ce forum d'un outil pour reconstruire un XML défectueux, faudra chercher..
https://qelectrotech.org/forum/viewtopi … 7809#p7809


Au pire envoie moi tes projets, j'y jetterai un œil.

EDIT : Récemment les symboles GHOST ont été supprimé du code, si ton vieux projet en 0.3 en contient il crashera la version 0.7, il suffit de l'ouvrir avec une AppImage 0.6, supprimer le symbole ghost et tant qu'a faire mettre un élément valide pour que la 0.7 puisse lire le projet.

Laurent

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

3 (edited by billard_fm 2018-10-06 13:44:37)

Re: Plantage à l'ouverture d'un fichier

Bonjour Laurent,

merci pour le conseil j'ai donc réussi à ouvrir le projet (la dernière version)  avec une APPimage en version 0.6 avec ce message :

ce fichier a été fait avec une version ultérieure de Qelectrtech

puis sauvegarde et tentative d'ouverture avec une version 0.7 et là plantage à nouveau


Après de nouveaux test c'est le folio 1 de ce projet qui entraine le plantage

Cordialement

François-Marie

Post's attachments

Attachment icon F1.qet 130.44 kb, 305 downloads since 2018-10-06 

Re: Plantage à l'ouverture d'un fichier

Bonjour François-Marie,

ce folio contient des éléments fantômes (ghost) "point d'interrogation entouré d'un rectangle", ce projet a du être commencé sur les versions antérieures à la 0.22 ou les éléments n’étaient pas encore embarqués dans le XML du projet. Il suffisait que l’élément soit supprimé dans la ou les collections pour que QET ne trouve plus le path de cet élément placé sur le schéma.. plutôt que de ne rien afficher on avertissait l'utilisateur avec un élément ghost avec sa signalétique distincte.

Le code gérant ces éléments fantômes à été enlevé dernièrement sur la version 0.7-dev, car normalement il ne devrait plus avoir ce type d’élément dans vos schémas, il est aussi nécessaire de virer du vieux code inutile et c'est ce qui provoque le crash direct si jamais un schéma en contient.

https://download.qelectrotech.org/qet/forum_img/ghost.png
https://download.qelectrotech.org/qet/forum_img/ghost1.png

Post's attachments

Attachment icon F1.qet 129.39 kb, 299 downloads since 2018-10-06 

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Plantage à l'ouverture d'un fichier

Bonjour Laurent,

merci pour cette précision.
Cependant j'ai ouvert ce fichier d'origine avec un éditeur XML et je n'ai pas trouvé ces éléments Ghost. Du coup je ne sais  pas les enlever manuellement.
Comment sont ils signalés dans le code XML ?

En passant par une version 0.6 de Qet c'est OK .

François-Marie

Re: Plantage à l'ouverture d'un fichier

Bonjour,

hum, avec un editeur de texte ou XML c'est plus compliqué à trouver :

exemple tu as deux types d’élément "terre" mais avec des path différents 

</element>
            <element prefix="" orientation="0" freezeLabel="false" type="embed://import/import/securite_des_machines/securite/terre.elmt" uuid="{22b277b7-a29b-4ebe-9de4-b56945100413}" y="290" x="370">
                <terminals>
</element>
            <element prefix="" orientation="0" freezeLabel="false" type="embed://import/securite_des_machines/securite/terre.elmt" uuid="{f7b6f7fa-7d2e-4a98-867f-d964ed914f84}" y="240" x="260">
                <terminals/>

Mais une seule définition :

<category name="securite_des_machines">
                    <names>
                        <name lang="el">Ασφάλεια μηχανών</name>
                        <name lang="en">Security machine</name>
                        <name lang="it">Sicurezza delle macchine</name>
                        <name lang="fr">Sécurité des machines</name>
                        <name lang="pl">Bezpieczeństwo maszyn</name>
                        <name lang="cs">Bezpečnost strojů</name>
                    </names>
                    <category name="securite">
                        <names>
                            <name lang="ar">أمان</name>
                            <name lang="de">Sicherheit</name>
                            <name lang="ru">Безопасность</name>
                            <name lang="pt">Segurança</name>
                            <name lang="el">Ασφάλεια</name>
                            <name lang="en">Security</name>
                            <name lang="it">Sicurezza</name>
                            <name lang="fr">Sécurité</name>
                            <name lang="pl">Bezpieczeństwo</name>
                            <name lang="es">Seguridad</name>
                            <name lang="cs">Bezpečnost</name>
                        </names>
                        <element name="terre.elmt">
                            <definition height="30" width="20" version="0.3" orientation="dnny" type="element" hotspot_y="15" hotspot_x="10">
                                <names>
                                    <name lang="ar">تأريض</name>
                                    <name lang="de">Erde</name>
                                    <name lang="ru">Земля</name>
                                    <name lang="pt">Terra</name>
                                    <name lang="el">Γη</name>
                                    <name lang="en">Ground</name>
                                    <name lang="it">Terra</name>
                                    <name lang="fr">Terre</name>
                                    <name lang="pl">Uziemienie</name>
                                    <name lang="es">Tierra</name>
                                    <name lang="cs">Země</name>
                                </names>
                                <informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
                                <description>
                                    <line end1="none" antialias="false" y2="4" x2="3" length1="1.5" y1="4" x1="-3" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end2="none"/>
                                    <line end1="none" antialias="false" y2="2" x2="5" length1="1.5" y1="2" x1="-5" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end2="none"/>
                                    <line end1="none" antialias="false" y2="0" x2="7" length1="1.5" y1="0" x1="-7" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end2="none"/>
                                    <line end1="none" antialias="false" y2="0" x2="0" length1="1.5" y1="-10" x1="0" style="line-style:normal;line-weight:normal;filling:none;color:black" length2="1.5" end2="none"/>
                                    <terminal orientation="n" y="-11" x="0"/>
                                </description>
                            </definition>
                        </element>
                    </category>
                </category>

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Plantage à l'ouverture d'un fichier

Pareil pour les bornes :

</element>
            <element prefix="" orientation="0" freezeLabel="false" type="embed://import/bornes/borne_continuite.elmt" uuid="{67ff3971-ceab-4d7b-8c6e-7f7503ad7ced}" y="330" x="270">
                <terminals>
 
</element>
            <element prefix="" orientation="0" freezeLabel="false" type="embed://import/bornes/bornes/borne_continuite.elmt" uuid="{06af5f37-38de-4675-9f56-cc9a293b6f2b}" y="190" x="450">
                <terminals/>

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Plantage à l'ouverture d'un fichier

Voila le fichier corrigé pour la 0.7 

Remplacé toutes les occurrences :
 
//import/bornes/bornes/borne_continuite.elmt
par
//import/bornes/borne_continuite.elmt


et
//import/securite_des_machines/securite/
par
//import/import/securite_des_machines/securite/ 

Post's attachments

Attachment icon F2.qet 130.44 kb, 255 downloads since 2018-10-07 

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Plantage à l'ouverture d'un fichier

Encore merci pour le dépannage et pour le logiciel qui est excellent en terme d'usage et de fonctionnalités.

Cordialement

François

Re: Plantage à l'ouverture d'un fichier

De rien, merci pour les compliments.

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Plantage à l'ouverture d'un fichier

Revision: 5550
Author: blacksun
Date: 2018-10-10 18:48:44 +0200 (Wed, 10 Oct 2018)
Log Message:
-----------
Fix crash when load an old project, wich contain element without her definition embedded, aka "ghost element".


Bon j'arrive un peu tard pour la correction (pas toujours le temps en ce moment).
QET ne plante plus lors de l'ouverture d'un projet avec des "ghost elements".

Développeur QElectroTech