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

WinDev Discussion :

Iaperçu et ressources ?


Sujet :

WinDev

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    425
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 425
    Points : 129
    Points
    129
    Par défaut Iaperçu et ressources ?
    Bonjour,

    Comment libérer les ressources après un Iaperçu ?

    j'ai deux codes:

    L'un passe en impression directe et l'autre montre simplement un apperçu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    iDestination(iPDFGénérique,nomfichier)
    iImprimeEtat("ETAT_"+REQ_background.uitnodiging)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    iParamètreAperçu(iBoutonAucun)
    iAperçu(i100, "Aperçu impression", Faux)
    iImprimeEtat("ETAT_"+REQ_background.uitnodiging)
    Pour le premier, je n'ai quasi pas de hausse de ressources...mais pour le deuxième je passe de 24.000K à 64.000K !!! (dans le Task Manager de Windows)

    Et ce qui m'ennuie, c'est après la fermeture de l'aperçu, la mémoire reste avec ces 64.000K et n'est donc pas libérée ????

    Comment faire ?
    J'ai essayé avec des Hannuledéclaration etc...mais rien à faire

  2. #2
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 329
    Points : 3 841
    Points
    3 841
    Par défaut
    Bonjour,

    Je ne suis pas surpris qu'un aperçu "prennent" de la mémoire supplémentaire, il y a toutes les DLLs (PCSOFT et Windows) utiles à l'aperçu.

    Pour les ressources, elles sont gérées par l'OS.

    Petite question, si tu exécutes une deuxième fois l'aperçu, ou un autre, est-ce que des ressources supplémentaires sont prise, cad passes-tu à 104 ko par ex ?

    Après 40 Ko d'augmentation de ressource, cela me semble dérisoire, mais c'est un avis personnel

  3. #3
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    je pense qu'il veut dire 24 000 K et 64 000 k, ce qui ne fait pas la même chose mais ce qui ne fait pas énorme non plus finalement.

  4. #4
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 329
    Points : 3 841
    Points
    3 841
    Par défaut
    En effet, je n'avais pas vu le "K" après le 64 000, toutes mes confuses ^^

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    425
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 425
    Points : 129
    Points
    129
    Par défaut
    LO², non après re-lancement de l’exécutable (le même), sur le même poste, les deux montent après lancement de Iaperçu vers les 64000K.

    N’y-a-t’il pas moyen justement de libérer les DLL utilisées ? Sont-elles identifiables ?

    Faut-il simplement décharger wd160prn.dll ? et comment ?

  6. #6
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 329
    Points : 3 841
    Points
    3 841
    Par défaut
    Citation Envoyé par chapeau_melon Voir le message
    LO², non après re-lancement de l’exécutable (le même), sur le même poste, les deux montent après lancement de Iaperçu vers les 64000K.
    Est-ce que cela veut dire que tu restes à 64 Mo quelque soit le nombre d'aperçu exécuté ?

    Pour les déchargement de DLLs, à mon avis, ce n'est pas possible.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    425
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 425
    Points : 129
    Points
    129
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    iParamètreAperçu(iBoutonAucun)
    iAperçu(i100, "Aperçu impression", Faux)
    iImprimeEtat("ETAT_"+REQ_background.uitnodiging)
    Le code derrière le bouton est celui-si.
    Tant qu'un aperçu est ouvert je ne sais pas lancer un autre car le bouton étant inaccessible.

  8. #8
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Essaye simplement de lancer plusieurs fois de suite ton code (pls clics sur le bonton = tu lance l'aperçu et tu le fermes).
    Ou tu en lances un autre après avoir fermé celui-là. Regarde l'état des ressources.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  9. #9
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 329
    Points : 3 841
    Points
    3 841
    Par défaut
    En fait ce que je voulais savoir c'est lors de la procédure suivante :
    - lancement appli = 24 Mo
    - lancement d'un aperçu = 64 Mo
    - fermeture de l'aperçu = 64 Mo (tu confirmes ?)
    - ouverture d'un deuxième aperçu (le même que le premier ou un autre) = ?

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    425
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 425
    Points : 129
    Points
    129
    Par défaut
    - lancement appli = 24000K
    - lancement d'un aperçu = 64000K
    - fermeture de l'aperçu = 64000K (tu confirmes = oui)
    - ouverture d'un deuxième aperçu (le même que le premier ) = 64000K

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    425
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 425
    Points : 129
    Points
    129
    Par défaut
    Ce n'est pas dû aux DLL windev chargé en mémoire car j'ai fait une liste DLL avant et après. Donc là n'est pas la piste.

  12. #12
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 329
    Points : 3 841
    Points
    3 841
    Par défaut
    Si ce ne sont pas les DLLs, je ne vois pas.

    Que trouves-tu de bloquant sur le fait que 40 Mo soient utilisés pour l'affichage des aperçus ?

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 136
    Points : 241
    Points
    241
    Par défaut
    Je comprends le problème de chapeau_melon.
    C'est perturbant d'avoir une application qui ne libère pas les ressources. On se dit que plus on va rajouter de chose dans le programme plus cela va prendre de place sans jamais la libérer ce qui pourrait causer des ralentissement du poste.

    Toutefois, je crois que les dernière version de Windows garde en mémoire toutes les bibliothèque utilisées et c'est Windows qui décide de libérer les plus ancienne pour obtenir de la mémoire ceci afin d'accélérer le fonctionnement global de Windows.
    Par exemple, ton 2e aperçu est plus rapide a afficher car Windows n'a pas à rouvrir et relire la DLL WD16prn.

    Sur les serveurs Windows 2008, on a le "problème" chez nous ce qui fait que la mémoire était rapidement pleine. A priori, un programme (je ne sais plus lequel) à permis de configurer Windows afin qu'il n'utilise que 50% de sa mémoire pour garder ce genre de chose en mémoire.

    Sur quelle Windows lance tu ton programme ?

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    425
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 425
    Points : 129
    Points
    129
    Par défaut
    Effectivement, j’essaie de tout faire pour garder le programme le plus léger possible (déclarations de requêtes, etc…)…

    L’exécutable tourne sous différents windows (XP,2000,Vista,7)

    Comme l’exécutable est utilisé à travers des réseaux lan, au plus léger au mieux.
    Avant, au lancement de mon exécutable j’arrivais déjà à 80.000K, trop lourd pour un simple ‘démarrage’…j’ai su alléger jusqu’à 24.000K…

    Donc les +40.000K de l’aperçu qui reste en mémoire m’ennuient quand même.

    Je ne comprends pas pourquoi, comme une requête, une fois l’aperçu fermé, la mémoire n’est pas libérée L

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    425
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 425
    Points : 129
    Points
    129
    Par défaut
    N’y-a-t’il pas une alternative à iaperçu ? En fait j’ai simplement besoin de pré-visioner le fichier à imprimer…donc par exemple, un aperçu en PDF, visualisé en Adobe Reader ou autres, serait suffisant

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    425
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 425
    Points : 129
    Points
    129
    Par défaut
    Bon, j’ai su limiter la casse en travaillant avec une FEN + champ ActiveX Adobe Reader.
    J’en suis « que à » +9000K ce qui est nettement mieux que +30000K.

  17. #17
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Très interessante cette discussion sur l'optimisation. Très bien également cette méthode pour contourner le problème.

    Peu de gens se soucient des ressources employées.

    Je n'aurais pas pensé à l'activeX Adobe Reader.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  18. #18
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Bonjour,

    pour revenir à la consommation de ressources, l'exécutable est lancé sur une machine dont il va consommer la ressource et le fait d'être en réseau ou non ne va pas changer le fait que c'est la mémoire du poste où il est lancé qui est utilisée. Par contre, le fait d'avoir cet exe sur le réseau peut te provoquer des temps de latence dû aux ralentissements du réseau.

    Je pense que 64 Mo pour une application n'est pas énorme même si la ressource qui n'est plus utilisée devrait être libérée.
    Regardes un navigateur, quel qu'il soit, il est très souvent aux alentours de 100 Mo et ne redescend quasiment jamais.

    à bientôt,

    Nicolas

  19. #19
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    A voir si cet article peut t'aider :

    http://forum.pcsoft.fr/thread.awp?gr...tid=219731&v=2

  20. #20
    Membre expert
    Avatar de Emmanuel Lecoester
    Profil pro
    Inscrit en
    Février 2003
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2003
    Messages : 1 493
    Points : 3 266
    Points
    3 266
    Par défaut
    Fonction libérant la mémoire du programme (à intégrer dans un timer)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    // origine : http://forum.pcsoft.fr/thread.awp?groupid=pcsoft.fr.windev&postid=219731&v=2
    // auteur : Roland Finné
    LOCAL
    nHDL est entier
    RetourFonction est un entier
     
     
    SI SysVersionWindows(sysVersionPlateForme)="NT" ALORS
    nHDL=API("Kernel32","GetCurrentProcess")
    RetourFonction=API("psapi","EmptyWorkingSet",nHDL)
    SI RetourFonction = 0 ALORS Erreur(ErreurInfo()) ; RETOUR
    FIN
    Emmanuel Lecoester
    => joomla addict.

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/06/2016, 18h20
  2. Allocation de ressources
    Par Eric Pasquier dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 08/10/2002, 09h19
  3. Fichier ressource contenant une icône
    Par k_boy dans le forum x86 32-bits / 64-bits
    Réponses: 9
    Dernier message: 26/09/2002, 20h59
  4. Utilisation de ressources images
    Par bebeours dans le forum C++Builder
    Réponses: 2
    Dernier message: 20/09/2002, 14h33
  5. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01

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