marcofelipe
Messages postés15Date d'inscriptionsamedi 28 janvier 2006StatutMembreDernière intervention30 novembre 2009
-
15 avril 2009 à 10:18
marcofelipe
Messages postés15Date d'inscriptionsamedi 28 janvier 2006StatutMembreDernière intervention30 novembre 2009
-
16 avril 2009 à 16:57
Bonjour,
Je développe des applications avec delphi 4. J'utilise le composant wintaskbar
qui me permet de mettre certaines applications dans le systray.
Cependant si explorer.exe plante mes icônes disparaissent, et il
faut que j'arrête le programme et que je le redémarre pour que l'icône
réapparaissent.
Quelqu'un aurait il une idée d'une démarche à suivre pour récupérer ces icônes au redémarrage d'explorer
Je vous remercie d'avance pour votre réponse.
A voir également:
Si Eplorer.exe plante, je n'ai plus accés aux îcones du systray de mes programme
marcofelipe
Messages postés15Date d'inscriptionsamedi 28 janvier 2006StatutMembreDernière intervention30 novembre 2009 15 avril 2009 à 18:01
Bon pour les gens qui utilisent encore une version "out.....caca.......obsolète....." aahahahah c'est marrant.......
Voilà une solution à partir du TrayIcon développé par Bacterius que nous pouvons remercier.
Lorsqu'on installe le paquet, il faut retirer rtl.dcp et vcl.dcp de require et y ajouter vcl40.dcp.
Ensuite devant "DeallocateHWND" et "allocateHWND", il faut juste supprimer le "classes."
Enfin Installer puis Compiler.
Ensuite dans votre paquet système vous avez le composant TrayIcon.
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 15 avril 2009 à 14:40
Salut c'est moi l'auteur du composant, en fait il faut intercepter le message TaskbarCreated (à choper avec RegisterWindowMessage) qui est diffusé dans le système quand Explorer.exe redémarre, et il faut à ce moment-là remettre ton icône dans la barre des tâches.
Pour la directive ALIGN ce n'est pas normal, essaye avec {$ALIGN 4} plutôt que 8 ? Sinon pour la deuxième erreur ce n'est pas du tout normal, va dans Options du débogueur => Bibliothèque, chemins de bibliothèque et ajoute le dossier dans lequel se trouve le fichier RTL.BPL (quelque part dans le dossier Delphi). Enfin c'est à ce que je pense en premier.
marcofelipe
Messages postés15Date d'inscriptionsamedi 28 janvier 2006StatutMembreDernière intervention30 novembre 2009 15 avril 2009 à 15:00
Je suis désolé d'insister. Mais je n'ai pas de fichier rtl.bpl sur mon poste de travail.J'ai bien entendu essayé au préalable de changer le format du Align de 8 en 4. Mais j'ai toujours la même erreur.
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 15 avril 2009 à 15:40
je vais faire mon mesquin, mais D4 c'est fini ... out ... caca ... obsolete ...
encore tu aurai D5 ... ce serait un peu mieux ... mais même lui ... est finit.
ici on programme tous entre D6 a D2009. les vesions les plus rependues etant D7 et D200x (5,6,7,9)
Télécharge Turbo Delphi 2006 for win32 tu sera tranquille (sur le site d'embarcadero).
marcofelipe
Messages postés15Date d'inscriptionsamedi 28 janvier 2006StatutMembreDernière intervention30 novembre 2009 15 avril 2009 à 16:07
Je suis vraiment désolé si je t'ennuies avec mon delphi 4. Mais je suis nouveau dans une société qui utilise depuis très longtemps Delphi 4 et qui ne veut pas changer (à mon grand regret).
Ce n'est pas un choix mais si je veux trouver une solution c'est sur Delphi 4 et pas une autre. Donc merci mais ta remarque à part me faire perdre un peu de temps ne m'a servi à rien.
Bonne continuation dans tes aides si perspicaces.......lol
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 15 avril 2009 à 16:51
Ben oui mais quand c'est obsolète c'est obsolète, quoi ... faut changer ... Tu sais Delphi 6, 7 ou 4 ça sort toujours le même fichier .exe (plus ou moins optimisé), donc autant pouvoir le faire le plus facilement possible ?
Cordialement, Bacterius !
PS : f0xi : "out ... caca ... obsolète" haha super bien dit.
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 15 avril 2009 à 19:11
Effectivement Allocate/DeallocateHWND se trouvent à la fois dans l'unité Classes et à la fois dans une autre unité (probablement pourquoi j'ai reçu l'avertissement "obsolète" sur ces deux fonctions quand je n'ai pas utilisé l'unité Classes sous Delphi 6).
Pour la vcl, si ça marche avec vcl40 très bien, je suppose que sous Delphi 5 c'est vcl50.dcp alors, etc ... sauf que sous Delphi 6 c'est vcl tout court ^^
Bon en tout cas problème réglé.
marcofelipe
Messages postés15Date d'inscriptionsamedi 28 janvier 2006StatutMembreDernière intervention30 novembre 2009 16 avril 2009 à 10:18
Pardon d'être encore là lol .... mais il y a une couil.... dans le potage.
En effet, nous utilisons souvent des logiciels de télémaintenance ou de connexions à distance sur les postes clients. Lorsqu'on se connecte sur un poste client avec par exemple Logmein dés qu'on clique sur icone du systray de notre application, il y a une violation d'accés.
Auriez vous une idée d'où cela puisse venir. Et je travaille encore et toujours avec Delphi 4.
marcofelipe
Messages postés15Date d'inscriptionsamedi 28 janvier 2006StatutMembreDernière intervention30 novembre 2009 16 avril 2009 à 16:57
Je ne pense pas que ce soit un problème de droits insuffisants.
En effet, j'ai essayé de faire un programme avec delphi 6 (lol oui je sais, j'ai aussi delphi 6, ça va !!!) et ça ne plante pas avec le composant cooltrayicon.
Ce qui est vraiment bizarre c'est que ça me fait même planter delphi qui n'est pas en train d'exécuter un programme.
Je vais faire un nouveau post parce que je pense qu'ils n'ont rien à voir.