Ik ben nog steeds bezig met me Delphi projectje, maar nu zit ik met een probleem...
Ik heb een 2tal labels in me form staan, maar als ik mijn text verander vervallen deze om de een of andere reden niet...
Deze code gebruik ik om de oude objecten op te sporen en te veranderen (de ouden gaan eerst op hide) om de een of andere reden blijven de elementen toch staan...
Wanneer ik het laatste element wil hiden blijft deze staan. Ook als ik in mijn label een string gebruik en kort deze daarna in dan blijven de oude letters er achterstaan.
Na een programma restart werkt t wel weer....
.DEstroy() van de objecten werkte om de een of andere reden niet...
Hoe los ik dit op??
Ik heb een 2tal labels in me form staan, maar als ik mijn text verander vervallen deze om de een of andere reden niet...
Deze code gebruik ik om de oude objecten op te sporen en te veranderen (de ouden gaan eerst op hide) om de een of andere reden blijven de elementen toch staan...
Wanneer ik het laatste element wil hiden blijft deze staan. Ook als ik in mijn label een string gebruik en kort deze daarna in dan blijven de oude letters er achterstaan.
Na een programma restart werkt t wel weer....
.DEstroy() van de objecten werkte om de een of andere reden niet...
Hoe los ik dit op??
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
| procedure TfrmMain.maakMeuk(); var i : integer; begin setLength(pbars,aantalTaken); setLength(knopjes,aantalTaken); setLength(delknopjes,aantalTaken); setLength(dateLabels,aantaltaken); setLength(labels,aantalTaken); i := 0; //Destroy gaat niet goed! Krijg geheugen error! Daarom hide. Bij nieuwe items wordt er overheen geschreven dus NP {if oudAantal = 1 then begin //Bij laatste item trad bug op :S //DUS GEWOON LEGE ELEMENTEN SIMULEREN !!! Die geen parent hebben! Om de een of andere reden wordt er nl iets vastgehouden pbars[i] := TprogressBar.Create(boxTakenOverzicht); knopjes[i] := TButton.Create(boxTakenOverzicht); delknopjes[i] := TButton.Create(boxTakenOverzicht); dateLabels[i] := TLabel.Create(boxTakenOverzicht); labels[0] := TLabel.Create(boxTakenOverzicht); oudAantal := 0; end;} if oudAantal > 0 then begin while i < oudAantal do begin pbars[i].visible:=false; knopjes[i].visible:=false; delknopjes[i].visible:=false; dateLabels[i].visible:=false; labels[i].visible:=false; i:=i+1; end; oudAantal := 0; end; i:=0; while i < aantalTaken do begin //Aanmaken meuk!! //Labeltje met naam labels[i] := TLabel.Create(boxTakenOverzicht); labels[i].Parent := SELF.boxTakenOverzicht; labels[i].Enabled := true; labels[i].SetBounds(10,30 + (i * 40),150,20); labels[i].Font := fontVB.Font; labels[i].caption := taken[i].TaakNaam; labels[i].Visible := true; labels[i].Transparent := false; labels[i].Show; //Progressbar pbars[i] := TprogressBar.Create(boxTakenOverzicht); pbars[i].Parent := SELF.boxTakenOverzicht; pbars[i].Enabled := true; pbars[i].SetBounds(200,30 + (i * 40) + 2,150,20); pbars[i].Visible := true; pbars[i].Smooth := true; pbars[i].Position := taken[i].TaakPercentage; pbars[i].Show; //Labeltje met datum dateLabels[i] := TLabel.Create(boxTakenOverzicht); dateLabels[i].Parent := SELF.boxTakenOverzicht; dateLabels[i].Enabled := true; dateLabels[i].SetBounds(370,30 + (i * 40),200,20); dateLabels[i].Font := fontVB.Font; dateLabels[i].Visible := true; dateLabels[i].caption := DateTimeToStr(taken[i].taakDatum); dateLabels[i].Show; //Knopje EDIT!! knopjes[i] := TButton.Create(boxTakenOverzicht); knopjes[i].Parent := SELF.boxTakenOverzicht; knopjes[i].Enabled := true; knopjes[i].SetBounds(550,30 + (i * 40),100,20); knopjes[i].Visible := true; knopjes[i].caption := 'Details / Edit'; knopjes[i].OnClick := frmMain.editTaakKlikje; knopjes[i].Show; //Knopje Delete!! delknopjes[i] := TButton.Create(boxTakenOverzicht); delknopjes[i].Parent := SELF.boxTakenOverzicht; delknopjes[i].Enabled := true; delknopjes[i].SetBounds(660,30 + (i * 40),100,20); delknopjes[i].Visible := true; delknopjes[i].caption := 'Delete'; delknopjes[i].OnClick := frmMain.deleteTaakKlikje; delknopjes[i].Show; //Verhogen en dooor gaan i := i + 1; end; end; |
