seb_phildar
Messages postés2Date d'inscriptionvendredi 9 septembre 2005StatutMembreDernière intervention19 avril 2008
-
18 avril 2008 à 16:10
seb_phildar
Messages postés2Date d'inscriptionvendredi 9 septembre 2005StatutMembreDernière intervention19 avril 2008
-
19 avril 2008 à 19:12
Bonjour,
J'ai ouvert un programme Delphi fourni avec un livre. J'ai les sources du programme. Lorsque je lance le programme (F9), j'ai des erreurs par rapport à un composant => PIconeBarreTache. J'ai cherché sur Internet et je l'ai trouvé sur Phidels. Je l'ai installé dans les règles de l'art (Component => Install nex component).
Lorsque j'exécute le programme après installation du composant, j'ai encore les erreurs suivantes :
###############
[Error] Main.pas(100): Undeclared identifier: 'IntervalAnimation'
=> Code de la ligne 100 => PiconeBarreTache1.IntervalAnimation:=500;
[Error] Main.pas(133): Undeclared identifier: 'Animation'
=> Code de la ligne 133 => PiconeBarreTache1.Animation:=true;
[Error] Main.pas(194): Undeclared identifier: 'NumIconeAfficheImageList'
=> Code de la ligne 194 => PiconeBarreTache1.NumIconeAfficheImageList:=0;
###############
Au début du programme, le composant est bien déclaré :
#########
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,StdCtrls,
IdBaseComponent, IdComponent, IdTCPServer, IdCustomHTTPServer, IdStack,IdHTTPServer,
ExtCtrls, Buttons,IdGlobal, ComCtrls, IdThreadMgr, IdThreadMgrDefault, syncobjs,
IdIOHandlerSocket, idSocketHandle,IniFiles, ImgList, PiconeBarreTache;
########
et dans la définition des "Type"
########
PiconeBarreTache1: TPiconeBarreTache;
########
Dans l'inspecteur d'objet, il y a bien les trois propriétés "IntervalAnimation", "NumIcone...."
Pouvez-vous m'aider svp? J'ai fait des recherches dans les forums et je n'ai pas trouvé de réponses...
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 19 avril 2008 à 14:49
Bonjour,
déjà il faudrait avoir le composant sous la main pour voir ce qu'il fait, pourquoi il est là... enfin d'après le nom "IconeBarreTache" je suppose que tu veux ajouter ton application dans la zone de notification non ? Si c'est le cas prends plutot ce code :
procedure TForm1.WMTrayIconMessage(var Msg: TMessage);
var P: TPoint;
begin
case Msg.LParam of
WM_LBUTTONDBLCLK: AttendButtonUp := True;
WM_LBUTTONUP: if AttendButtonUp then
begin
AttendButtonUp := False;
MenuRestaurerClick(Self);
PopupMenu := nil;
end;
WM_RBUTTONUP:
begin
GetCursorPos(P);
SetForegroundWindow(Handle);
PopMnuSysTray.Popup(P.x, P.y);
end;
end;
end;
procedure TForm1.AjouteIcone;
begin
with IconData do
begin
hIcon := LoadIcon(HInstance, 'MAINICON');
cbSize := SizeOf(IconData);
Wnd := Handle;
uID := 0;
StrPCopy(szTip, Application.Title);
uCallBackMessage := TrayIconMessage;
uFlags := NIF_ICON or NIF_TIP or NIF_MESSAGE;
end;
Shell_NotifyIcon(NIM_ADD, @IconData)
end;
procedure TForm1.SupprimeIcone;
begin
IconData.uID := 0;
Shell_NotifyIcon(NIM_DELETE, @IconData);
end;
TU DOIS AVOIR "SHELLAPI" DANS LA CLAUSE USES
Et tu dois déclarer tout cela dans les déclarations privées :
Ensuite dans le FormCreate tu entre le code : "AjouteIcone".
Et quand ton appli se ferme : "SupprimeIcone".
Il faut ajouter un popup nommé "PopMnuSysTray" (il apparaîtra si tu cliques avec le bouton droit sur l'icone).
Si tu veux rendre ton appli invisible dans la barre des tàches (elle n'apparaîtra que dans la barre de notification), ajoute "Windows" à la clause Uses du fichier PROJET, et entre cette ligne juste après "Application.Initialize" :
seb_phildar
Messages postés2Date d'inscriptionvendredi 9 septembre 2005StatutMembreDernière intervention19 avril 2008 19 avril 2008 à 19:12
Bonjour Bacterius,
Merci pour la réponse. En fait, ce n'est pas un prog que j'ai réalisé moi-même. C'est un prog que j'ai téléchargé sur le net. C'est un complément à un livre que je suis en train de lire sur l'électronique. Lorque j'ai téléchargé le code source et que je l'ai exécuté, il m'a dit qu'il me manquait le composant PIconeBarreTache. Je l'ai téléchargé et installé et ensuite les erreurs comme expliqué ci-dessus. Pour plus d'infos sur le composant, voici un lien : http://www.phidels.com/php/index.php3?page=../php/mescompo/piconebarretache.htm&id=223 De plus, il n'y a aucun lien entre l'auteur du livre et le site de Phidels... Ce n'est pas l'auteur qui dit dans son livre d'aller télécharger le composant sur Phidels...
L'auteur a utilisé Delphi 6.0 et moi, j'utilise la version 7.0 Enterprise.