Timer

cs_Eric84 Messages postés 25 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 17 janvier 2006 - 1 mars 2005 à 22:33
cs_Eric84 Messages postés 25 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 17 janvier 2006 - 2 mars 2005 à 15:08
Bonjours,
J'ai un problème avec l'utilisation d'un timer. J'ai 2 timers, un fesant une lecture sur le serveur OPC, l'autre qui fait une déconnection de la lecture du le OPC au cas où la connexion ne serais pas bonne.

Code du timer qui détecte la connexion :
{*********************************************************************
PROCEDURE QUI VERIFIE L'ÉTAT DE LA CONNECTION SUR LE OPC
*********************************************************************}
procedure TfCompteurs.TmrReconnectOPCTimer(Sender: TObject);
begin
showmessage('test');
//Si le OPC n'est pas connecté
if (nStatusOPC = 0) then begin
OPCBobines.Disconnect;
end;

Code du timer qui fait la lecture :
{*******************************************************************
FAIT LA VÉRIFICATION DU CHANGEMENT DE BOBINE
********************************************************************}
procedure TfCompteurs.GetNoBobine;
var
(déclaration des variables)


begin
FichierIni := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'CompteurAuto.ini');
TmrReconnectOPC.Enabled := True;

//Numéro de bobine
OPCBobines.ReadVariable(FichierIni.ReadString('OPC', 'NoBobine', '/special/spare float/reelnumber_part1/value'),Bobine,nStatusOPC,0);


//Rétabli la connection
if (nStatusOPC = 0) then begin
OPCBobines.Connect;
end;

Le problème dans tout ca, c'est lorque je déplace ma forme pendant qu'il entre dans le timer "TmrReconnectOPCTimer". La forme gèle. Comment faire en sorte qu'il ne gèle pas ? La forme gèle, ensuite le showmessage du test apparaît.

Merci

2 réponses

jmp77 Messages postés 1119 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 4 octobre 2006 7
2 mars 2005 à 07:42
Hello,



Insere application.processmessages;

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
0
cs_Eric84 Messages postés 25 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 17 janvier 2006
2 mars 2005 à 15:08
Je l'ai inséré a cette endroit :

procedure TfCompteurs.TmrReconnectOPCTimer(Sender: TObject);
begin
application.processmessages;

//Si le OPC n'est pas connecté
if (nStatusOPC = 0) then begin
OPCBobines.Disconnect;
end;

Ca gèle toujours. :(
0
Rejoignez-nous