Utilisation du sémaphore

Résolu
notrica Messages postés 89 Date d'inscription lundi 12 décembre 2005 Statut Membre Dernière intervention 19 octobre 2013 - 3 juin 2008 à 00:26
notrica Messages postés 89 Date d'inscription lundi 12 décembre 2005 Statut Membre 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

8 réponses

Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
6 juin 2008 à 00:07
Ce sont des API , donc :

uses   Windows;
3
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
3 juin 2008 à 15:24
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...
0
notrica Messages postés 89 Date d'inscription lundi 12 décembre 2005 Statut Membre Dernière intervention 19 octobre 2013
4 juin 2008 à 22:55
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
0
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
5 juin 2008 à 13:22
Regarde mon snippet. Ca devrait t'aider.





 
0

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

Posez votre question
notrica Messages postés 89 Date d'inscription lundi 12 décembre 2005 Statut Membre Dernière intervention 19 octobre 2013
5 juin 2008 à 23:56
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
0
notrica Messages postés 89 Date d'inscription lundi 12 décembre 2005 Statut Membre Dernière intervention 19 octobre 2013
6 juin 2008 à 22:48
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
0
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
6 juin 2008 à 23:44
... 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 !
0
notrica Messages postés 89 Date d'inscription lundi 12 décembre 2005 Statut Membre Dernière intervention 19 octobre 2013
8 juin 2008 à 22:33
Toutes mes escuses. J"ai bien noté la remarque.  Merci pour ton aide.


a+


Notrica
0
Rejoignez-nous