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 :

Main Thread sur un projet et pas dans d'autres


Sujet :

EDI Delphi

  1. #1
    Membre averti Avatar de Moez.B
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    mars 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

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

    Informations forums :
    Inscription : mars 2006
    Messages : 219
    Points : 368
    Points
    368
    Par défaut Main Thread sur un projet et pas dans d'autres
    Bonjour,

    J'ai une petite question :

    Pourquoi, en débogage sur une de nos projets, j'ai dans le volet des Threads en cours cette icône avec intitulé "Main thread"

    Nom : 1.png
Affichages : 98
Taille : 7,4 Ko

    Alors, que sur d'autres projets, je n'ai pas ça :

    Nom : 2.png
Affichages : 96
Taille : 5,8 Ko

    Ceci tire mon attention car ça s'est reproduit lors de la migration de mes projets de Delphi XE vers Delphi 10.3.1.

    Merci
    "L'homme supérieur est celui qui a une bienveillance égale pour tous, et qui est sans égoïsme et sans partialité." [Confucius]
    "Celui qui n'évolue pas disparaît." [Charles Darwin]
    “Without requirements or design, programming is the art of adding bugs to an empty text file.” [Louis Srygley]

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

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juillet 2006
    Messages : 11 923
    Points : 20 867
    Points
    20 867
    Par défaut
    Peut-être une différence sur les options de compilation entre un projet migré et un projet tout neuf
    Ce thread principal, c'est l'entrée dans le begin du DPR (voir même un peu avant les sections initialization dont l'une d'elle renseigne justement MainThreadID)


    Je serais dans une phase d'analyse de Delphi 10.2 très prochainement pour un nouveau développement tout neuf, totalement neuf cela que fait plus de 5 ans non même 10 que je démarre un projet sans rien, pas une lib ni externe, ni interne.
    Alors UniDac c'est comment ?
    Actuellement j'utilise ODAC sous XE2 et l'on va passer sur FireDAC pour MySQL
    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 averti Avatar de Moez.B
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    mars 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

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

    Informations forums :
    Inscription : mars 2006
    Messages : 219
    Points : 368
    Points
    368
    Par défaut
    @Shail : ooohhh , ça sera chaud très très chaud :
    Alors, je vais revenir à un ancien Thread sur le forum que j'ai créé y'a pas longtemps :
    https://www.developpez.net/forums/d1...ite-migration/
    On a migré l'ensemble de nos projets de Delphi XE vers Delphi Tokyo 10.2.3 : on a eu des horreurs
    • Delphi Tokyo n'est pas une version stable déjà avec tous les problèmes de Livebinding et aussi de sa cohabitation sous Windows 10 avec les updates de son anniversaire.
    • Le problème de chargement des fenêtres n'a pas pu être résolu et le reproduit chez nos clients.

    Du coup, on a attendu le Delphi 10.3 Rio et j'ai fait cette semaine l'upgrade vers Delphi 10.3.1 et là les problèmes de l'IDE en tant que tels ont été résolus (imagine un TDatamodule avec une bonne cinquantaine de TUniQuery qui met 40 secondes à se charger sans parler des problèmes de gel et des effets de bords de Delphi pendant le codage , compilation et Build : le Linker se perd de temps en temps , refactoring foireux , etc etc ..
    Là , j'ai recensé le problème de Hanging des fiches : et j'ai pu trouver que c'est à cause des composants Unidac justement : en les migrant de la version 4 à la dernière version 7 compatible avec la Delphi 10.3.1 : tout a été changé par Devart et ils imposent leur nouvelles mécaniques pour utiliser les composants sans :
    • Avertir les développeurs ayant déjà des licences
    • Prévoir un plan de migration
    • Assurer une rétro-compatibilité entre les versions Unidac

    Les performances avec Unidac sont moyennes :
    • Un CRUD sur 2000 enregistrements en base se fait en 3 secondes avec une base Firebird.
    • La gestion des transactions a aussi changé : AutoCommit à False et gestion explicites des transactions : il faut réaligner le code en ajoutant à la main les transactions d'update
    • Le passage de la section critique des threads d'Unidac et le main Thread est 'critique' : Freeze dans tous les sens à cause d'un StartWait et StopWait obligeant le Thread de revenir au Thread principal pour appeler l'API Windows afin de changer le curseur de la souris.

    Je reviens à mon problème initial :
    Pourquoi j'ai un main thread dans mon projet , j'arrive pas à trouver dans les codes de la source du projet une instruction qui le renomme.
    Et je pense que la dégradation des performances de mes applications est en relation directe avec ça
    "L'homme supérieur est celui qui a une bienveillance égale pour tous, et qui est sans égoïsme et sans partialité." [Confucius]
    "Celui qui n'évolue pas disparaît." [Charles Darwin]
    “Without requirements or design, programming is the art of adding bugs to an empty text file.” [Louis Srygley]

  4. #4
    Membre averti Avatar de Moez.B
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    mars 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

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

    Informations forums :
    Inscription : mars 2006
    Messages : 219
    Points : 368
    Points
    368
    Par défaut
    Bonjour,
    Je reviens au sujet.
    C'était EurekaLog dans la section Initialization ...
    "L'homme supérieur est celui qui a une bienveillance égale pour tous, et qui est sans égoïsme et sans partialité." [Confucius]
    "Celui qui n'évolue pas disparaît." [Charles Darwin]
    “Without requirements or design, programming is the art of adding bugs to an empty text file.” [Louis Srygley]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/05/2015, 00h19
  2. Réponses: 3
    Dernier message: 11/05/2014, 23h24
  3. Accents sur certaines pages et pas dans d'autres
    Par serpolet dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 02/09/2011, 23h09
  4. Requete sur des champs qui ne sont pas dans une autre table
    Par jean christophe dans le forum Débuter
    Réponses: 4
    Dernier message: 20/05/2010, 19h05
  5. Réponses: 3
    Dernier message: 26/01/2006, 14h11

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