Utilisation du sémaphore [Résolu]

Messages postés
89
Date d'inscription
lundi 12 décembre 2005
Dernière intervention
19 octobre 2013
- - Dernière réponse : notrica
Messages postés
89
Date d'inscription
lundi 12 décembre 2005
Dernière intervention
19 octobre 2013
- 8 juin 2008 à 22:33
Salut,
J'ai utilisé pour la première fois le sémaphore dans le programme principal  de lancement , lors de la compilation toutes les fonctions liées au sémaphore ne sont pas connues.
Que dois-je faire ?
 a+
Notrica
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
2684
Date d'inscription
jeudi 15 janvier 2004
Dernière intervention
26 juillet 2018
12
3
Merci
Ce sont des API , donc :

uses   Windows;

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 91 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Caribensila
Messages postés
2684
Date d'inscription
jeudi 15 janvier 2004
Dernière intervention
26 juillet 2018
12
0
Merci
Bonjour,

« toutes les fonctions liées au sémaphore ne sont pas connues. »
- Que veux-tu dire?
- Peux-tu être plus précis ou nous montrer les lignes de code concernant la création de ton sémaphore et celles concernant la fonction d'attente?
   Parce que là, on est dans le coaltar...
Commenter la réponse de Caribensila
Messages postés
89
Date d'inscription
lundi 12 décembre 2005
Dernière intervention
19 octobre 2013
0
Merci
Salut Caribensila,


Merci pour ton intervention, pour être précis, je presente ci*dessous les lignes de code :




  HSemaphore := CreateSemaphore(nil, 2,2, 'Delta-soft');
  if WaitForSingleObject (HSemaphore,0) <> wait_TimeOut then begin
  Application.Initialize;
  splashfrm := TSplashfrm.Create(application);
  try
     splashfrm.Show;
     splashfrm.DoFade(100);
  finally
         splashfrm.Free;
  end;


//**  Application.Initialize;
  Application.Title := 'Planet Compta';
  Application.CreateForm(TFrmMain, FrmMain);
 Application.CreateForm(TWReportSolde, WReportSolde);
  Application.CreateForm(TwFusionFsseur, wFusionFsseur);
  Application.CreateForm(TwFusionDivers, wFusionDivers);
  Application.CreateForm(TwFusionCpteFin, wFusionCpteFin);
  Application.CreateForm(TRapBalance, RapBalance);
  Application.CreateForm(TwClients, wClients);
  Application.CreateForm(TwRecCreditApplClient, wRecCreditApplClient);
  //*  Application.ShowFrmMain := False;
  Application.Run;
    end
 else
 begin
   MesageBox(0,'Vous ne pouvez plus executer cette application', 'Delta-soft',0);
   end;
   if (HSemaphore <> 0 then begin
     releasesemaphore(HSemaphore,1,nil);
     Closehandle(hsemaphore);
     end;

les fonctions "CreateSemaphore", " WaitForSingleObject ", etc. ne sont pas connues, le compilateur m'affiche le message d'erreur.  Y-t'il autres choses à ajouter ?
 Merci d'avance
a+
Notrica
Commenter la réponse de notrica
Messages postés
2684
Date d'inscription
jeudi 15 janvier 2004
Dernière intervention
26 juillet 2018
12
0
Merci
Regarde mon snippet. Ca devrait t'aider.





 
Commenter la réponse de Caribensila
Messages postés
89
Date d'inscription
lundi 12 décembre 2005
Dernière intervention
19 octobre 2013
0
Merci
Salut  Caribensila,

j'ai régardé avec beaucoup d'intérêts le snippet. Mon problème jusque là demeure. Il est question des erreurs qui apparaissent lors de l'exécution de mon projet. Les fonctions comme:  OpenSemaphore(), createsemaphore(), releasesemaphore(), etc.  Ne sont pas identifiés par le compilateur.
j'ai en fait le message  comme:

[Error] Planet_Start.dpr(107): Undeclared identifier: 'OpenSemaphore'
[Error] Planet_Start.dpr(109): Undeclared identifier: 'CreateSemaphore'
[Error] Planet_Start.dpr(233): Undeclared identifier: 'WaitForSingleObject'
Que dois-je faire ? aide moi je suis débutant.
Merci d'avance.
a+
Notrica
Commenter la réponse de notrica
Messages postés
89
Date d'inscription
lundi 12 décembre 2005
Dernière intervention
19 octobre 2013
0
Merci
Salut  Caribensila,
Merci beaucoup tout est bon. Je vous souhaite bonne continuation. et
Dieu puisse vous proteger.
Juste une dernier question comme celà fonctionne faut-il le faire dans tout les forms qiu accompagne le projet  ou bien celà suffit pour que mon projet fontionne en reseau ?
Bonne journée
a+
Notrica
Commenter la réponse de notrica
Messages postés
2684
Date d'inscription
jeudi 15 janvier 2004
Dernière intervention
26 juillet 2018
12
0
Merci
... Ca ne concerne que le processus principal. Donc, ça devrait fonctionner tel quel. Mais tu devras faire des essais, je pense. 

PS:  Une prochaine fois, évite « Dieu puisse vous proteger. ». Ce n'est pas réglementaire dans ce site et ça choque mes convictions. Respecte-moi comme je te respecte, stp.
Bonne programmation à toi !
Commenter la réponse de Caribensila
Messages postés
89
Date d'inscription
lundi 12 décembre 2005
Dernière intervention
19 octobre 2013
0
Merci
Toutes mes escuses. J"ai bien noté la remarque.  Merci pour ton aide.


a+


Notrica
Commenter la réponse de notrica

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.