cricri_b34
Messages postés223Date d'inscriptionmercredi 21 juillet 2004StatutMembreDernière intervention15 février 2006
-
22 avril 2005 à 02:53
cricri_b34
Messages postés223Date d'inscriptionmercredi 21 juillet 2004StatutMembreDernière intervention15 février 2006
-
25 avril 2005 à 19:13
salut ,
j'ai fait un programme qui doit crer des composant
tout fonctionne bien sauf quand je quitte, la ya plein
d'erreur qui apparaisse
je comprend vraiment pas pq
voici mon code :
Procedure TForm1.CommencerCaptures(Frequence : Integer) ;
var
x : integer ;
begin
For x := 1 to Length(Panels) do
begin
Panels[x] := TPanel.Create(self);
With Panels[x] do
begin
Parent := ScrollBox1 ;
Width := ScrollBox1.Width - 30 ;
Height := Width ;
Left := 5 ;
Top := ((x-1) * Width) + (x * 10) ;
end;
Images[x] := TImage.Create(self);
With Images[x] do
begin
Parent := Panels[x] ;
Width := Panels[x].Width - 20 ;
Height := Width ;
Left := 10 ;
Top := 10 ;
Stretch := True ;
Tag := x ;
OnClick := ImageClick ;
end;
Capturer(Images[x]) ;
Pause(Frequence);
Application.ProcessMessages ;
end;
Timer1.Enabled := False ;
end
procedure Capturer(Image : TImage);
begin
Image.Picture.Bitmap.Width := Screen.Width ;
Image.Picture.Bitmap.Height := Screen.Height ;
BitBlt(Image.Picture.Bitmap.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, GetDC(GetDesktopWindow), 0, 0, SrcCopy);
ReleaseDC(GetDesktopWindow, GetDC(GetDesktopWindow));
end;
Modif 2 : Attention les "array of" commence à partir de 0 et non 1 !!! (à modifier dans CommencerCaptures et DeSelection d'où l'erreur !!
For x : = 0 to Length(Panels)-1 do
Modif 3 : Désallouer les objets à la fin ce serait quand même mieux, non
procedure TForm1.Button2Click(Sender: TObject);
var
i : integer ;
begin
For i := 0 to Length(Panels)-1 do
begin
if ( Images[i]<>NIL ) then TImage(Images[i]).Free ;
if ( Panels[i]<>NIL ) then TPanel(Panels[i]).Free;
end ;
SetLength(Images, 0) ;
SetLength(Panels, 0) ;
close ;
end;