cs_Sator
Messages postés351Date d'inscriptionsamedi 7 février 2004StatutMembreDernière intervention 6 octobre 2010
-
4 juil. 2007 à 20:40
cs_Sator
Messages postés351Date d'inscriptionsamedi 7 février 2004StatutMembreDernière intervention 6 octobre 2010
-
7 juil. 2007 à 00:28
Bonsoir, Quelqu'un pourrait-il m'expliquer quand je charge une forme comportant 300 images ma form met presque 15 secondes à se charger, je les ais directement chargé avec ma feuille... est-ce qu'il y à un moyen différent pour stocker les images? de tel manière à ce que celà prenne moin de temps?
d'autre part quand je fais des recherche même sur 10 enregistrement dans une base access comportant plus de 2 millions d'enregistrements, mon prog prend un certain temps, voir un temps certain pour faire ma recherche, ceci n'est pas le plus grave, mais quand je clique sur ma forme... le prog me dit :qu'il ne répond plus....donc je me dis que j'ai un problème de mémoir.... donc si quelqu'un peu m'aider ce serait sympat.... merci d'avance
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 4 juil. 2007 à 21:49
Bonsoir,
Laisse tes images dans un répertoire externe.
Tu ne visualises tout de même pas (même en miniatures d'abord en vue de leur agrandissement) 300 images...
charges un dizaine d'images à voir de suite et la dizaine suivante (en attente mais non encore visibles)
quand tu avances dans la vision : rend visibles les dix qui ne l'étaient pas et :
mets dans ta mémoire (en, non visibles) les 10 premières
charge les 10 suivantes et rens-les visibles
charge les 10 suivantes en attente, mais non visibles
etc...
etc...
de sorte à pouvoir, à chaque instant, passer, tant en avant qu'en arrière, à un groupe de 10 images suivantes ou antérieures.
tout celà s'établit par un mécanisme d'horlogerie minutieux mais pas vraiment complexe.
Si c'est un visualisateur d'album, que tu fais (ou une chose similaire), il te faut le mériter et, dans ce genre d'affaire, il s'agit bien plus d'art stratégique que de connaissance du langage de développement.
La gymnastique dont je viens de te parler n'est tout de même pas si complexe ! Je l'ai, en mon temps, mise sur pieds en moins de 2 jours et totalement seul.
Il est vrai que je me suis un peu torturé les méninges (pas en code... mais en mécanisme) et que celà m'a coûté quelques mots de tête, mais voilà... l'affaire a été menée bon train.
Te donner le code de ce que j'ai fait n'est certes pas le but du jeu ! Celà serait totalement improductif ! Autant, si tu dois de contenter de ce peu là, accepter alors directement l'exécutable de ce visualisateur... je te l'offre, lui, si c'est ce que tu veux.... mais pas le code : il doit rester le fruit de ton acharnement car c'est ainsi que l'on devient un développeur, pas autrement.
Amitiés.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 4 juil. 2007 à 20:56
Que ton programme ne réponde plus c'est logique puisqu'il est en train de charger la form. Ce méssage rajouté par Windows dans le nom de la feuille, ne signifie pas forcément un plantage, cela signifie simplement que le programme ne répond plus aux annonces de Windows concernant son execution (un peu comme les ping sur un réseau TCP).
Cela peut avoir plusieurs causes comme effectivement le plantage (c'était le but premier) mais l'occupation du programme à autre chose qui ne lui laisse pas le temps de traiter ces annonces.
Que ton programme n'est pas le temps de répondre se comprend, charger 300 images n'est pas une mince affaire, bien que cela dépend de la taille des images. L'idéal serait de ne charger que les images immédiatement indispensables au fonctionnement de la form et de charger les autres uniquement lorsque leurs besoins se fait sentir.
Quant à la base de donnée, malheureusement Access n'est pas des plus performants pour les grosses bases. Il est quand, probablement possible d'accèlérer les recherches, je pense, en utilisant les fonctionnalités d'index. Il me semble que les index existe nt aussi sous Access.
cs_Sator
Messages postés351Date d'inscriptionsamedi 7 février 2004StatutMembreDernière intervention 6 octobre 2010 4 juil. 2007 à 21:06
Tout d'abord merci à tous , de vous êtes donné la peine de répondre: en fait j'en charge 100 en visisible et 200 en non visible, et la première recherce dans access se fais sur un index numéroAuto... donc indéxé, bref il ni à pas vraiment de solutions..... merci quand même....
allthew3
Messages postés551Date d'inscriptionsamedi 8 janvier 2005StatutMembreDernière intervention12 avril 20082 4 juil. 2007 à 21:08
sinon pour les non-visibles tu peux mettre 1 timer pour différer ou faire des DoEvents entre chaque image (mets des DoEvents aussi pour les images visibles)
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 4 juil. 2007 à 22:15
Prière de bien lire :
quelques maux et pas quelques mots de tête .... encore que, ma foi... il y avait aussi pas mal de mots (pas tous polis) qui sont ici et là venus à mon esprit, à cette époque ...
cs_Sator
Messages postés351Date d'inscriptionsamedi 7 février 2004StatutMembreDernière intervention 6 octobre 2010 7 juil. 2007 à 00:28
en fait je dois afficher 50 images en même temps, et 100 qui peuvent être cachée.... le tout * 2.... je pense effectivement que je vais charger les 100 * 2 à partir d'un fichier... ce sera toujours ça de gagné... Merci à tous pour votre colaboration