Utilisation du sémaphore [Résolu]

notrica 89 Messages postés lundi 12 décembre 2005Date d'inscription 19 octobre 2013 Dernière intervention - 3 juin 2008 à 00:26 - Dernière réponse : notrica 89 Messages postés lundi 12 décembre 2005Date d'inscription 19 octobre 2013 Dernière intervention
- 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
Caribensila 2684 Messages postés jeudi 15 janvier 2004Date d'inscription 26 juillet 2018 Dernière intervention - 6 juin 2008 à 00:07
3
Merci
Ce sont des API , donc :

uses   Windows;

Merci Caribensila 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

Commenter la réponse de Caribensila
Caribensila 2684 Messages postés jeudi 15 janvier 2004Date d'inscription 26 juillet 2018 Dernière intervention - 3 juin 2008 à 15:24
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
notrica 89 Messages postés lundi 12 décembre 2005Date d'inscription 19 octobre 2013 Dernière intervention - 4 juin 2008 à 22:55
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
Caribensila 2684 Messages postés jeudi 15 janvier 2004Date d'inscription 26 juillet 2018 Dernière intervention - 5 juin 2008 à 13:22
0
Merci
Regarde mon snippet. Ca devrait t'aider.





 
Commenter la réponse de Caribensila
notrica 89 Messages postés lundi 12 décembre 2005Date d'inscription 19 octobre 2013 Dernière intervention - 5 juin 2008 à 23:56
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
notrica 89 Messages postés lundi 12 décembre 2005Date d'inscription 19 octobre 2013 Dernière intervention - 6 juin 2008 à 22:48
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
Caribensila 2684 Messages postés jeudi 15 janvier 2004Date d'inscription 26 juillet 2018 Dernière intervention - 6 juin 2008 à 23:44
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
notrica 89 Messages postés lundi 12 décembre 2005Date d'inscription 19 octobre 2013 Dernière intervention - 8 juin 2008 à 22:33
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.