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

EDI Delphi Discussion :

Crash bizarre delphi 10 seattle


Sujet :

EDI Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 131
    Points : 51
    Points
    51
    Par défaut Crash bizarre delphi 10 seattle
    Bonjour,

    Quelqu'un a-t'il déjà eu la situation suivante avec Delphi 10 Seattle et une vrai licence ?


    1er test :
    Lancement de delphi
    Je charge un projet
    Puis au bout de 2 ou 3 secondes, crash : il n'y a plus de delphi

    2e test
    Lancement de delphi
    Création nouvelle application fiche vcl (il place une fiche)
    enregistrement du projet : il enregistre la form puis le projet
    Et là...crash : il n'y a plus de delphi


    Si quelqu'un a un avis, je suis preneur.
    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Pas ce cas extrême.
    En Seattle, cela arrive que lors de l'ajout d'une nouvelle unité provoque une erreur comme "Index out of Bounds" surtout quand l'éditeur contient beaucoup d'onglet.

    Sinon, certains projets, surtout en XE2, des codes trop poussés avec des type imbriqué, générique ... cela provoquait des erreurs internes du compilateur obligeant à changer le code sinon l'IDE ne faisait plus correctement sa coloration syntaxique ni l'audit de code.

    Et en D7, un projet infâme qu'un collègue avait la charge plantait comme ça, à cause de DataModule contenant 300 objets (à l'époque, avec la taille des écrans, tous coller les uns aux autres)
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 131
    Points : 51
    Points
    51
    Par défaut
    Bonsoir,

    merci des conseils mais pour l'instant, je n'ai pas d'autres choix que de supprimer les fichiers avec les extensions suivantes :
    dproj, dproj.local, identcache, stat
    Je supprime également tout contenu dans les dossiers __history et __recovery

    Apparemment, ça fait l'effet puisque j'arrive ensuite à charger mon projet et tout refonctionne normalement !

    Quand ça se produit, il n'y aucun message d'erreur : il se ferme tout seul comme un grand puis plus rien.

    Je commence à comprendre : je pense que c'est un problème de ressources, très certainement un bug de cette version.

    Crdt

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Ayant aussi des ressources dans un projet D10, pas de soucis.
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    je n'ai pas souvenir de ce genre de choses bizarres.

    est-ce qu'il y a des plugins ? sait-on jamais.

    le seul cas un peu douteux que j'ai rencontré c'est après avoir placé des DLL dans le répetoire BIN de Delphi...il n'aime pas cela et si je me souviens bien les menu fichier/enregistrer et fichier/fermer sont inversés ou un truc stupide comme ça

    tu peux aussi installer madExcept et l'utiliser dans un package de composants, il capturera les erreurs de l'IDE
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  6. #6
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    La suppression de *.local et *.identcache permet d'éviter ce genre de choses sur de gros projets, notamment avec l'utilisation de TFrame en quantité ou avec des héritages de fiches qui parfois, si on a bidouillé les DFM / FMX à la main) peuvent poser problème de synchro entre les caches et le contenu des sources au chargement du projet.

    Ce phénomène ne s'est plus reproduit depuis la 10.4 Sydney pour moi sur les projets qui le faisaient de temps en temps.

  7. #7
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Citation Envoyé par pprem Voir le message
    ... notamment avec l'utilisation de TFrame en quantité ou avec des héritages de fiches qui parfois, si on a bidouillé les DFM / FMX à la main)
    Pas besoin de bidouiller, les Frames, c'est pas terrible, l'héritage de la DFM Form\Frame c'est infâme !
    Si je fais un héritage de TForm, il est sans DFM, juste un objet avec des fonctionnalités supplémentaires.
    Si je fais une frame une form dockable avec une séparation strict entre le conteneur et contenant.

    Et c'est mon cas depuis D6.
    A l'époque cela rendait tout l'éditeur de fiche instable, et la maintenance, c'est une plaie.

    Pire, combien de fois, j'ai vu un héritage de fenêtre, où l'on cachait la moitié des truc hérités dont certaines choses héritées d'une Frame en plus, un tas de code pour compenser un héritage incohérent.
    C'est un truc à déconseiller car c'est un piège avec le temps.
    Sans compter le message aussi quand on modifie un ancêtre avec un descendant ouvert, l'IDE panique !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  8. #8
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    Je ne te rejoindrais pas sur le "infâme", mais il est certain que j'ai un projet où on a légèrement abusé des héritages de tout un tas de choses pour se simplifier la mise en forme de certains éléments. C'est joli à voir, mais l'IDE a eu quelques soucis avec la complexité du truc. Heureusement LSP est venu à la rescousse et ne plante plus l'IDE quand ça bloque.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 131
    Points : 51
    Points
    51
    Par défaut
    Bonjour à tous et merci pour vos commentaires.
    Tout ça est très utile.
    Peut-être des plug-ins mais àa aurait du faire l'effect depuis longtemps...
    Toutefois, en fin de compte, je constate que quand cela arrive :
    - je remarque que sur un tdatamodule, il y a beaucoup d'objets
    - finalement, la suppression du fichier .dproj suffit pour revenir à l'état normal (sans plantage)
    et dans ce cas, j'ouvre le projet via le fichier .dpr et, bien sûr, après avoir sauvegardé le projet,
    il recréé le fichier .dproj

    Puis quand je réouvre le projet de manière normale (donc avec le dproj), si ça se plante, je supprime
    à nouveau le dproj pour rouvrir le projet avec le dpr.

    C'est tout ce que j'ai trouvé de mieux à faire.

    Merci dans tous les cas pour vos précieux conseils.

    Cordialement

  10. #10
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Citation Envoyé par asenaici Voir le message
    Toutefois, en fin de compte, je constate que quand cela arrive :
    - je remarque que sur un tdatamodule, il y a beaucoup d'objets
    Citation Envoyé par ShaiLeTroll Voir le message
    Et en D7, un projet infâme qu'un collègue avait la charge plantait comme ça, à cause de DataModule contenant 300 objets (à l'époque, avec la taille des écrans, tous coller les uns aux autres)
    Conclusion, cela n'a pas trop changé entre D10 et D7 en plus de 15 ans entre les deux.
    J'utilise aussi des TDataModule mais au plus j'ai rarement plus de 40 Query, en général, elles restent fermées mais certaines préparées pour une utilisation plus performante, surtout dans un contexte de forte utilisation, comme dans un programme Server.
    J'ai utilisé des TDataModule surtout parce que l'on a défini au sein d'une équipe une méthode commune, moi j'étais plutôt à mette le SQL dans le .PAS ou dans des fichiers .SQL lié en .RC\.RES

    Je te recommande d'appliquer le concept "Diviser pour régner" !
    Par exemple, je sépare toute la partie Reporting (ReportBuilder, FastReport...) du reste car cela produit beaucoup d'objet et des DFM assez lourdes.
    Dans certains cas extrêmes, un DataModule ne contenant que les SELECT, un autre DataModule ne contenant que les UPDATE\INSERT, aussi bien pour la lisibilité mais aussi pour gérer un objet Connexion différent par exemple pour un utilisateur DB n'ayant pas les mêmes droits ou alors cloisonner les données non validées encore plus que via les Transactions.

    Evidemment, les DataModule sont multiples, regroupées par thème métier, séparer la partie technique du programme avec les partie plus business, ne pas non plus tout mélanger un DataModule pour la gestion des droits et des menus, un DataModule plutôt orienté Client, un autre pour les Commandes et le Stock, un autre ou plusieurs pour la BI\DataMining ... toujours dans l'idée de thématiser, cela facilite la compréhension du programme, cela aide la maintenance.

    Et encore, un DataModule peut-être "caréner" pour être utilisé comme un objet avec méthode et propriété, plutôt lié en RunTime qu'au DesignTime.
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 131
    Points : 51
    Points
    51
    Par défaut
    Messages bien reçus.

    Merci pour les informations.

    Bonne journée

    Crdt

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/01/2016, 15h39
  2. Réponses: 3
    Dernier message: 20/01/2016, 18h24
  3. Réponses: 5
    Dernier message: 19/01/2016, 20h31
  4. Delphi 10 Seattle et JEDI
    Par Bernard B dans le forum EDI
    Réponses: 5
    Dernier message: 13/10/2015, 20h59
  5. [WD18] crash bizarre "Espace insuffisant pour traiter cette commande"
    Par alaclef dans le forum WinDev
    Réponses: 2
    Dernier message: 08/05/2015, 16h30

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