summaryrefslogtreecommitdiff
path: root/raetselunit.pas
diff options
context:
space:
mode:
Diffstat (limited to 'raetselunit.pas')
-rw-r--r--raetselunit.pas28
1 files changed, 18 insertions, 10 deletions
diff --git a/raetselunit.pas b/raetselunit.pas
index ad4a43a..6898c6c 100644
--- a/raetselunit.pas
+++ b/raetselunit.pas
@@ -611,12 +611,12 @@ begin
farbWahlFlaeche.width:=zeichenFlaeche.width;
zeichenFlaecheNeuKreieren;
besitzer.height:=besitzerHoehe;
- besitzer.width:=
- max(max(
- besitzerBreite,
- sudokuCB.left+sudokuCB.width+spacing),
- spinEdits[length(spinEdits)-1].left+spinEdits[length(spinEdits)-1].width+spacing
- );
+ besitzer.width:=besitzerBreite;
+ if assigned(sudokuCB) then
+ besitzer.width:=max(besitzer.width,sudokuCB.left+sudokuCB.width+spacing);
+ if length(spinEdits)>0 then
+ if assigned(spinEdits[length(spinEdits)-1]) then
+ besitzer.width:=max(besitzer.width,spinEdits[length(spinEdits)-1].left+spinEdits[length(spinEdits)-1].width+spacing);
progressBar1.width:=besitzer.width;
zeichnen;
end;
@@ -625,18 +625,24 @@ function tFelderRaetsel.besitzerHoehe: longint;
var
i: longint;
begin
- result:=max(inherited besitzerHoehe,diagonalenCB.top+diagonalenCB.height+spacing);
+ result:=inherited besitzerHoehe;
+ if assigned(diagonalenCB) then
+ result:=max(result,diagonalenCB.top+diagonalenCB.height+spacing);
for i:=0 to length(spinEdits)-1 do
- result:=max(result,spinEdits[i].top+spinEdits[i].height+spacing);
+ if assigned(spinEdits[i]) then
+ result:=max(result,spinEdits[i].top+spinEdits[i].height+spacing);
end;
function tFelderRaetsel.besitzerBreite: longint;
var
i: longint;
begin
- result:=max(inherited besitzerBreite,diagonalenCB.left+diagonalenCB.width+spacing);;
+ result:=inherited besitzerBreite;
+ if assigned(diagonalenCB) then
+ result:=max(result,diagonalenCB.left+diagonalenCB.width+spacing);
for i:=0 to length(spinEdits)-1 do
- result:=max(result,spinEdits[i].left+spinEdits[i].width+spacing);
+ if assigned(spinEdits[i]) then
+ result:=max(result,spinEdits[i].left+spinEdits[i].width+spacing);
end;
procedure tFelderRaetsel.schreibeZentriert(x,y,i: longint);
@@ -674,6 +680,8 @@ procedure tFelderRaetsel.zeichnen;
var
i: longint;
begin
+ if not assigned(sudokuCB) then
+ exit;
zeichenFlaeche.canvas.brush.color:=$ffffff;
zeichenFlaeche.canvas.rectangle(-10,-10,zeichenFlaeche.width+10,zeichenFlaeche.height+10);
zeichenFlaeche.canvas.pen.width:=3-2*byte(sudokuCB.checked);