Ik ben een wizard aan het maken, en gebruik daarvoor de code zoals die in Mastering Delphi 6 van Cantu staat. Maar ik heb volgens mij alles hetzelfde, en toch werkt de backbutton niet. Hij springt niet terug naar de vorige pagina. Ik zit er al een uur op te staren
maar ik zie echt niet wat ik verkeerd doe. Toch doe ik dat, anders zou het immers wel werken 
Wie kan mij aangeven wat ik fout doe?
Wie kan mij aangeven wat ik fout doe?
Delphi:
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
| unit Wizard; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, ExtCtrls; type TfrWizard = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; ... procedure btnCancelClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure btnNext1Click(Sender: TObject); procedure btnBackClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } BackPages: TList; public { Public declarations } procedure MoveTo (TabSheet: TTabSheet); end; var frWizard: TfrWizard; implementation uses Main; {$R *.dfm} procedure TfrWizard.FormCreate(Sender: TObject); begin BackPages := TList.Create; // always start with the first page PageControl1.ActivePage := TabSheet1; end; procedure TfrWizard.btnBackClick(Sender: TObject); var LastPage: TTabSheet; begin // get the last page and jump to it LastPage := TTabSheet (BackPages [BackPages.Count - 1]); PageControl1.ActivePage := LastPage; // delete the last page from the list BackPages.Delete (BackPages.Count - 1); // eventually disable the back button BtnBack.Enabled := not (BackPages.Count = 0); end; procedure TfrWizard.MoveTo(TabSheet: TTabSheet); begin // add the last page to the list BackPages.Add (PageControl1.ActivePage); BtnBack.Enabled := True; // change page PageControl1.ActivePage := TabSheet; end; ... procedure TfrWizard.btnNext1Click(Sender: TObject); begin MoveTo (TabSheet2) end; procedure TfrWizard.FormDestroy(Sender: TObject); begin BackPages.Free; end; end. |