Bonjours à tous
Je voudrais faire un programme qui garde en mémoire un String et un TBitmap.
Sans le TBitmap, delphi compile sans erreurs :
mais dès que je rajoute un TBitmap, delphi m'envoie un message d'erreur.
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
50
51
52
53
54
55
56
57
58
59 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TDonnee_en_Memoire = record nom : string[20]; end; TForm1 = class(TForm) Edit1: TEdit; procedure FormCreate(Sender: TObject); procedure Edit1Change(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Déclarations privées } public { Déclarations publiques } end; var Form1: TForm1; F : File of TDonnee_En_Memoire; Donnee : TDonnee_en_Memoire; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin AssignFile(F,'C:\Memoire.donnee'); {$I-} Reset(F); {$I+} If IOresult = 0 then begin Read(F,donnee); Edit1.Text:=donnee.nom; end; end; procedure TForm1.Edit1Change(Sender: TObject); begin donnee.nom:=Edit1.Text; Rewrite(F); Write(F,Donnee); end; procedure TForm1.FormDestroy(Sender: TObject); begin CloseFile(F); end; end.
Voici le code après le rajout d'un TBitmap:
Et cela fait la même chose si, à la place du TBitmap, je mets un tableau(à 1 dimension)!
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 TDonnee_en_Memoire = record nom : string[20]; Image : TBitmap; end; procedure TForm1.FormCreate(Sender: TObject); begin AssignFile(F,'C:\Memoire.donnee'); {$I-} Reset(F); {$I+} If IOresult = 0 then begin donnee.Image:=TBitmap.Create; Read(F,donnee); Edit1.Text:=donnee.nom; Image1.Picture.Bitmap:=Donnee.Image; end; end; .. procedure TForm1.FormDestroy(Sender: TObject); begin CloseFile(F); Donnee.Image.Free; end;
Pourriez-vous me donner une réponse qui résoudrait ces 2 problèmes ?
Partager