You've already forked lazarus-ccr
fpspreadsheet: Fix crash when destroying columns and rows.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2942 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -1,11 +1,10 @@
|
||||
<?xml version="1.0"?>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<CONFIG>
|
||||
<ProjectOptions>
|
||||
<Version Value="9"/>
|
||||
<PathDelim Value="\"/>
|
||||
<General>
|
||||
<Flags>
|
||||
<AlwaysBuild Value="False"/>
|
||||
<LRSInOutputDirectory Value="False"/>
|
||||
</Flags>
|
||||
<SessionStorage Value="InProjectDir"/>
|
||||
@ -45,7 +44,7 @@
|
||||
</Units>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="9"/>
|
||||
<Version Value="11"/>
|
||||
<PathDelim Value="\"/>
|
||||
<SearchPaths>
|
||||
<OtherUnitFiles Value=".."/>
|
||||
|
@ -29,6 +29,8 @@ var
|
||||
i: Integer;
|
||||
lCell: PCell;
|
||||
number: Double;
|
||||
lCol: TCol;
|
||||
lRow: TRow;
|
||||
begin
|
||||
MyDir := ExtractFilePath(ParamStr(0));
|
||||
|
||||
@ -138,6 +140,18 @@ begin
|
||||
MyWorksheet.WriteUTF8Text(37, 0, 'nfTimeInterval');
|
||||
MyWorksheet.WriteDateTime(37, 1, number, nfTimeInterval);
|
||||
|
||||
// Set width of columns 1 and 5
|
||||
lCol.Width := 100; //mm
|
||||
MyWorksheet.WriteColInfo(1, lCol);
|
||||
lCol.Width := 50;
|
||||
MyWorksheet.WriteColInfo(5, lCol);
|
||||
|
||||
// Set height of rows 5 and 6
|
||||
lRow.Height := 10; // mm
|
||||
MyWorksheet.WriteRowInfo(5, lRow);
|
||||
lRow.Height := 5;
|
||||
MyWorksheet.WriteRowInfo(6, lRow);
|
||||
|
||||
// Creates a new worksheet
|
||||
MyWorksheet := MyWorkbook.AddWorksheet(Str_Worksheet2);
|
||||
|
||||
|
Binary file not shown.
@ -1212,7 +1212,7 @@ begin
|
||||
Result := nil;
|
||||
|
||||
LElement.Col := ACol;
|
||||
AVLNode := FRows.Find(@LElement);
|
||||
AVLNode := FCols.Find(@LElement);
|
||||
if Assigned(AVLNode) then
|
||||
result := PCol(AVLNode.Data);
|
||||
end;
|
||||
@ -1249,26 +1249,26 @@ end;
|
||||
|
||||
procedure TsWorksheet.RemoveAllRows;
|
||||
var
|
||||
Node: TAVGLVLTreeNode;
|
||||
Node: Pointer;
|
||||
i: Integer;
|
||||
begin
|
||||
for i := 0 to FRows.Count-1 do
|
||||
for i := FRows.Count-1 downto 0 do
|
||||
begin
|
||||
Node:=FRows.Items[0];
|
||||
FreeMem(PRow(Node.Data));
|
||||
Node := FRows.Items[i];
|
||||
FreeMem(Node, SizeOf(TRow));
|
||||
end;
|
||||
FRows.Clear;
|
||||
end;
|
||||
|
||||
procedure TsWorksheet.RemoveAllCols;
|
||||
var
|
||||
Node: TAVGLVLTreeNode;
|
||||
Node: Pointer;
|
||||
i: Integer;
|
||||
begin
|
||||
for i := 0 to FCols.Count-1 do
|
||||
for i := FCols.Count-1 downto 0 do
|
||||
begin
|
||||
Node:=FCols.Items[0];
|
||||
FreeMem(PCol(Node.Data));
|
||||
Node := FCols.Items[i];
|
||||
FreeMem(Node, SizeOf(TCol));
|
||||
end;
|
||||
FCols.Clear;
|
||||
end;
|
||||
@ -1278,7 +1278,6 @@ var
|
||||
AElement: PRow;
|
||||
begin
|
||||
AElement := GetRow(ARow);
|
||||
|
||||
AElement^.Height := AData.Height;
|
||||
end;
|
||||
|
||||
@ -1287,7 +1286,6 @@ var
|
||||
AElement: PCol;
|
||||
begin
|
||||
AElement := GetCol(ACol);
|
||||
|
||||
AElement^.Width := AData.Width;
|
||||
end;
|
||||
|
||||
|
Reference in New Issue
Block a user