VolaiL
Messages postés14Date d'inscriptionvendredi 11 juillet 2003StatutMembreDernière intervention25 mai 2005
-
27 avril 2004 à 15:59
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 2013
-
27 avril 2004 à 21:26
Bonjour, j'ai un petit problème de création de thread.
Je souhaiterai lancer le thread lorsqu'on appuie sur enter, mais ca bloque dès la crétion sur "inherited Create(CreateSuspended);"
Je ne comprend pas :(
Voici mon code simplifé :
//---- Fonction récupérant la touche Enter-----
procedure Tmario.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
sauter:Tsaut;
begin
if Key=VK_RETURN then
begin
sauter.Create(False); //False pour éxécution directe
end;
end;
//---- Classe THREAD ----
type
TSaut = class(TThread)
public
constructor Create(CreateSuspended:boolean);
end;
implementation
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 27 avril 2004 à 21:23
Où est passée la méthode Execute ?
Rappel : la méthode Execute de la classe de base est déclarée abstract et ne peut donc être instanciée lors de la création du thread.
(pour info, voici la déclaration dans la classe TThread :
procedure Execute; virtual; abstract;)
Tu dois donc surcharger cette méthode. Pour être sur de ne rien oublier, il vaut mieux utiliser l'assistant (Fichier/Nouveau/Thread).
May Delphi be with you