[Delphi] Wizard (als in Cantu) backbutton werkt niet

Pagina: 1
Acties:
  • 29 views sinds 30-01-2008

  • Oscar Mopperkont
  • Registratie: Februari 2001
  • Laatst online: 03-08-2024
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 B) 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?
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.

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

En wat als je gaat debuggen? Wat kan je dan concluderen?

We adore chaos because we like to restore order - M.C. Escher


  • Oscar Mopperkont
  • Registratie: Februari 2001
  • Laatst online: 03-08-2024
LordLarry schreef op 22 maart 2004 @ 21:37:
En wat als je gaat debuggen? Wat kan je dan concluderen?
|:( |:( |:( :X :X 8)7 8)7 8)7
En dat heb ik dan altijd ik zie het probleem al.... de button was niet gelinkt. Ik weet niet waar ik met mijn hoofd zat 8)7 :X |:(

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Je moet er ook niet naar staren, je moet debuggen.

Zet een breakpoint in het betreffende code fragment, en loop er eens stap voor stap door, kijk wat er gebeurt, etc....

Het is niet de bedoeling van P&W dat wij hier jouw code debuggen.

https://fgheysels.github.io/


Dit topic is gesloten.