Bonsoir,
j'ai repris Lazarus et le Pascal depuis peu, et j'ai du rouiller.
Ce code, fait pour essayer de comprendre mon problème, fonctionne (il récupère une image, et l'assigne à un composant image).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
uses
  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls;
.. 
procedure TForm1.FormCreate(Sender: TObject);
var
  bmp : TBitmap;
begin
  bmp := TBitmap.Create;
  bmp.LoadFromFile('D:\Documents\Mes Projets\Mes programmes Lazarus\Test TImage\Capture.bmp');
  Image.Picture.Assign(bmp);
  bmp.Free;
end;
Le code ci-dessous, récupéré dans la documentation, et destiné à faire un screenshot, me renvoie
Identifier idents no member Create
Comme j'ai besoin de GetDC(), j'ai ajouté windows aux uses. Patatra, il semble que TBitmap n'existe plus, et qu'on m'impose TBITMAP.

Je suis passé à côté de quoi ? Mon problème n'est pas de faire un screenshot, mais de comprendre ce que j'ai mal fait. (au passage, je n'ai pas perdu trop de temps, la lecture de divers sites m'a prodigué une puissante révision. Mais pas la lumière. J'ai déjà honte de la réponse que je vais recevoir, je sens que ma question est d'une banalité affligeante...)
Merci à ceux qui m'apporteront l'illumination.

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
uses
  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, Windows;
.. 
procedure TForm1.FormCreate(Sender: TObject);
var
  bmp : TBitmap;
  ScreenDC : HDC;
begin
  bmp := TBitmap.Create; // <--- ligne pointée par le compilateur
  ScreenDC := GetDC(0);
  bmp.LoadFromDevice(ScreenDC);
  Image.Picture.Assign(bmp);
  ReleaseDc(0, ScreenDC);
  bmp.Free;
end;