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>
|
<CONFIG>
|
||||||
<ProjectOptions>
|
<ProjectOptions>
|
||||||
<Version Value="9"/>
|
<Version Value="9"/>
|
||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
<General>
|
<General>
|
||||||
<Flags>
|
<Flags>
|
||||||
<AlwaysBuild Value="False"/>
|
|
||||||
<LRSInOutputDirectory Value="False"/>
|
<LRSInOutputDirectory Value="False"/>
|
||||||
</Flags>
|
</Flags>
|
||||||
<SessionStorage Value="InProjectDir"/>
|
<SessionStorage Value="InProjectDir"/>
|
||||||
@ -45,7 +44,7 @@
|
|||||||
</Units>
|
</Units>
|
||||||
</ProjectOptions>
|
</ProjectOptions>
|
||||||
<CompilerOptions>
|
<CompilerOptions>
|
||||||
<Version Value="9"/>
|
<Version Value="11"/>
|
||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
<SearchPaths>
|
<SearchPaths>
|
||||||
<OtherUnitFiles Value=".."/>
|
<OtherUnitFiles Value=".."/>
|
||||||
|
@ -29,6 +29,8 @@ var
|
|||||||
i: Integer;
|
i: Integer;
|
||||||
lCell: PCell;
|
lCell: PCell;
|
||||||
number: Double;
|
number: Double;
|
||||||
|
lCol: TCol;
|
||||||
|
lRow: TRow;
|
||||||
begin
|
begin
|
||||||
MyDir := ExtractFilePath(ParamStr(0));
|
MyDir := ExtractFilePath(ParamStr(0));
|
||||||
|
|
||||||
@ -138,6 +140,18 @@ begin
|
|||||||
MyWorksheet.WriteUTF8Text(37, 0, 'nfTimeInterval');
|
MyWorksheet.WriteUTF8Text(37, 0, 'nfTimeInterval');
|
||||||
MyWorksheet.WriteDateTime(37, 1, number, 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
|
// Creates a new worksheet
|
||||||
MyWorksheet := MyWorkbook.AddWorksheet(Str_Worksheet2);
|
MyWorksheet := MyWorkbook.AddWorksheet(Str_Worksheet2);
|
||||||
|
|
||||||
|
Binary file not shown.
@ -1212,7 +1212,7 @@ begin
|
|||||||
Result := nil;
|
Result := nil;
|
||||||
|
|
||||||
LElement.Col := ACol;
|
LElement.Col := ACol;
|
||||||
AVLNode := FRows.Find(@LElement);
|
AVLNode := FCols.Find(@LElement);
|
||||||
if Assigned(AVLNode) then
|
if Assigned(AVLNode) then
|
||||||
result := PCol(AVLNode.Data);
|
result := PCol(AVLNode.Data);
|
||||||
end;
|
end;
|
||||||
@ -1249,26 +1249,26 @@ end;
|
|||||||
|
|
||||||
procedure TsWorksheet.RemoveAllRows;
|
procedure TsWorksheet.RemoveAllRows;
|
||||||
var
|
var
|
||||||
Node: TAVGLVLTreeNode;
|
Node: Pointer;
|
||||||
i: Integer;
|
i: Integer;
|
||||||
begin
|
begin
|
||||||
for i := 0 to FRows.Count-1 do
|
for i := FRows.Count-1 downto 0 do
|
||||||
begin
|
begin
|
||||||
Node:=FRows.Items[0];
|
Node := FRows.Items[i];
|
||||||
FreeMem(PRow(Node.Data));
|
FreeMem(Node, SizeOf(TRow));
|
||||||
end;
|
end;
|
||||||
FRows.Clear;
|
FRows.Clear;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TsWorksheet.RemoveAllCols;
|
procedure TsWorksheet.RemoveAllCols;
|
||||||
var
|
var
|
||||||
Node: TAVGLVLTreeNode;
|
Node: Pointer;
|
||||||
i: Integer;
|
i: Integer;
|
||||||
begin
|
begin
|
||||||
for i := 0 to FCols.Count-1 do
|
for i := FCols.Count-1 downto 0 do
|
||||||
begin
|
begin
|
||||||
Node:=FCols.Items[0];
|
Node := FCols.Items[i];
|
||||||
FreeMem(PCol(Node.Data));
|
FreeMem(Node, SizeOf(TCol));
|
||||||
end;
|
end;
|
||||||
FCols.Clear;
|
FCols.Clear;
|
||||||
end;
|
end;
|
||||||
@ -1278,7 +1278,6 @@ var
|
|||||||
AElement: PRow;
|
AElement: PRow;
|
||||||
begin
|
begin
|
||||||
AElement := GetRow(ARow);
|
AElement := GetRow(ARow);
|
||||||
|
|
||||||
AElement^.Height := AData.Height;
|
AElement^.Height := AData.Height;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -1287,7 +1286,6 @@ var
|
|||||||
AElement: PCol;
|
AElement: PCol;
|
||||||
begin
|
begin
|
||||||
AElement := GetCol(ACol);
|
AElement := GetCol(ACol);
|
||||||
|
|
||||||
AElement^.Width := AData.Width;
|
AElement^.Width := AData.Width;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user