Voila la petite fonction que j'ai faite : qui prend un screen et l'envoie sur un FTP :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 
procedure Tform1.Takeshot(const qualite : integer);
var DCDesk: HDC; // hDC of Desktop
  bmp: TBitmap;
  Image :TJpegImage;
 
begin
//Set Quality
 
  {Create a bitmap}
  bmp := TBitmap.Create;
  Image :=TJpegImage.Create;
  {Set a bitmap sizes}
  bmp.Height := Screen.Height;
  bmp.Width := Screen.Width;
 
  {Get a desktop DC handle - handle of a display device context}
  DCDesk := GetWindowDC(GetDesktopWindow);
 
  {Copy to any canvas, here canvas of an image}
  BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
         DCDesk, 0, 0, SRCCOPY);
  //Conversion & Qualite
  Image.CompressionQuality:=qualite;
  Image.Assign(bmp);
  {Save the bitmap}
  DeleteFile('C:/screen.jpg');
  Image.SaveToFile({GetTemp+}'C:/screen.jpg');
 
  {Release desktop DC handle}
  ReleaseDC(GetDesktopWindow, DCDesk);
 
  {Release a bitmap}
  bmp.Free;
  Image.Free;
 
  //now, upload de l'image
   //Connection
    IdFTP1.host := 'ftp.membres.lycos.fr';
    IdFTP1.UserName := 'AAAA';
    IdFTP1.Password := 'AAAA';
    IdFTP1.Connect;
    //send
    idFTP1.delete('Wtrj/screen.jpg');
    idFTP1.Put(GetTemp+'screen.jpg','/Wtrj/screen.jpg',true);
    //Deconnection
    if IdFTP1.Connected then IdFTP1.Disconnect;
 
end;
Mais voila, probleme cette idiot me balance toujour le meme screenshot, et ce depuis 3 jour que j'essaie de trouver le probleme .
J'ai mit du code pour supprimmer le fichier local, le fichier distant avant d'envoyer le nouveau mais rien a faire, mais appres redemarrage du programme, il me renvoie le meme screen, j'en ai donc deduit , que le screen est conservé en memoire (je pense dans DCDesk, pourtant c'est redefinie dans
Code : Sélectionner tout - Visualiser dans une fenêtre à part
DCDesk := GetWindowDC(GetDesktopWindow);
comment liberer la memoire associé?

Merci!

Edit : En repassant 2 mois plus tard, je voie mon poste, et dans la source, j'ai laissé mon mot de passe en clair... Ze Boulay...