Si Eplorer.exe plante, je n'ai plus accés aux îcones du systray de mes programme

Résolu
marcofelipe Messages postés 15 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 30 novembre 2009 - 15 avril 2009 à 10:18
marcofelipe Messages postés 15 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 30 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.

16 réponses

marcofelipe Messages postés 15 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 30 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.

Pfiouuu !!!!!
3
marcofelipe Messages postés 15 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 30 novembre 2009
15 avril 2009 à 11:54
Et ca marche avec delphi 4. Parce qu'il a développé avec delphi 6.

Merci en tout cas de ta répons. Je vais essayé.
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
15 avril 2009 à 12:06
je n'ai plus de D4 d'installé mais oui ça devrait aussi fonctionner ....

il pourrait y avoir de petites modifications à apporter au code mais ce n'est même pas certain, en tout cas ce n'est rien de difficile
 
@+
Cirec

<hr siz="" />
0
marcofelipe Messages postés 15 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 30 novembre 2009
15 avril 2009 à 13:59
J'ai une erreur lorsque j'essai d'installer ce paquet. Aurais tu s'il te plais une réponse ?

[Erreur] TrayIconPkg.dpk(5): Directive de compilation incorrecte : 'ALIGN'
[Erreur fatale] TrayIconPkg.dpk(30): Fichier non trouvé : 'c:\documents and settings\marc-philippe\bureau\piconebarretache\rtl.dpk'
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
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.

Cordialement, Bacterius !
0
marcofelipe Messages postés 15 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 30 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.
0
marcofelipe Messages postés 15 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 30 novembre 2009
15 avril 2009 à 15:01
D'ailleurs je n'ai pas non plu vcl.bpl
0
marcofelipe Messages postés 15 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 30 novembre 2009
15 avril 2009 à 15:05
Et je dois dire que je développe avec la version 4 de delphi
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
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).

<hr size="2" width="100%" />
0
marcofelipe Messages postés 15 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 30 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
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
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.
0
marcofelipe Messages postés 15 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 30 novembre 2009
15 avril 2009 à 17:49
Donc si on n'a pas une version récente de delphi on fait comment lol ?

Pourriez-vous simplement me dire si vous avez des informations sur ce rtl.bpl. Si vous ne savez pas merci à tous pour votre aide.
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
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é.

Cordialement, Bacterius !
0
marcofelipe Messages postés 15 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 30 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.

Cordialement.
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
16 avril 2009 à 12:49
Euh bizarre, c'est peut-être un problème de droits Windows insuffisants ?

Cordialement, Bacterius !
0
marcofelipe Messages postés 15 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 30 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.

Merci Bacterius et les autres
0
Rejoignez-nous