From 8b688de40bb6213d2b7073359b33f9ced1283835 Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Thu, 17 Apr 2014 20:59:00 +0000 Subject: [PATCH] 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 --- .../examples/excel8demo/excel8write.lpi | 5 ++--- .../examples/excel8demo/excel8write.lpr | 14 ++++++++++++ .../examples/excel8demo/test.xls | Bin 17408 -> 6144 bytes components/fpspreadsheet/fpspreadsheet.pas | 20 ++++++++---------- 4 files changed, 25 insertions(+), 14 deletions(-) diff --git a/components/fpspreadsheet/examples/excel8demo/excel8write.lpi b/components/fpspreadsheet/examples/excel8demo/excel8write.lpi index 6ab082e31..7584cc24f 100644 --- a/components/fpspreadsheet/examples/excel8demo/excel8write.lpi +++ b/components/fpspreadsheet/examples/excel8demo/excel8write.lpi @@ -1,11 +1,10 @@ - + - @@ -45,7 +44,7 @@ - + diff --git a/components/fpspreadsheet/examples/excel8demo/excel8write.lpr b/components/fpspreadsheet/examples/excel8demo/excel8write.lpr index bfd93554c..ca5b5348f 100644 --- a/components/fpspreadsheet/examples/excel8demo/excel8write.lpr +++ b/components/fpspreadsheet/examples/excel8demo/excel8write.lpr @@ -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); diff --git a/components/fpspreadsheet/examples/excel8demo/test.xls b/components/fpspreadsheet/examples/excel8demo/test.xls index 70ccde420e7f3865909e838ff0c7c5ec5c414555..a9d03e207fd924faf7ccc4c17e86def46e8b2002 100644 GIT binary patch literal 6144 zcmeHLNpD+K6h80yIXF!dCvFlF$8nt6t_x`ZCzP2qk(x+IM1nXGPzj`#8VGGul)8wn z@TPkND}(^?6Oa%qB)se*h+zRN%b={0fF0C)-+6b7&|3 zb8<%gIJbx7&hCWRfqnY1bA*|B(z9>w{p(nN?*6VP*NkzT=b!7+?)>+l?;yZw>jUBd zt^gST62Ku~5Euf6f!l!*U=&CKV?YWR2hzXx^Eij>wb1(s!wK5X-rZ&YT<@Fmy|_Ly_-pw0 zK6n=>gD+J&f~YUSNSVqULZ^c&Z=X}mM&tvl~wlYZXACZ2b*iRXQ7;(5QDc;5LY zo_Ts+zOuO5nC(rvqssAaupfUyG+8Q52LPNjGsMUl9w>Lta<#5 z)@yED?{A9hJvLXgrP4eKznh7d3?=p74#5^Vv zF#Ypgn(;XSV0p3YuicVX2LCVc}i~kA{S&yzG3y z6<&g4jkodzk74Valx2O(J}5{wDd5z_k=U#C_6nBe8C3u`k=-}mIIDF*952!0zHfcO zv)m8CR7h}Ai-|ZU%s5rP7#u?t(XcnA*~-2gE~&!_C`gACOl$EHhnhX#xFn}k#UZGe z2&pJy0eKPz#VVp4nMEmb9A(OVazB!j2T`arSf6w3SqO0l4~aD$8nBmGL2IgDdn{q| zy@t(q7UfX}mNNKOmgnV?IywrsGV)F7k?pTj*XDURMqx8xYK~pd@~n-znHF_PsGDq3 zmxQ{2fx0QJ^g^rQd$)=+X7X?hDi1fQ9D~Y$QI#wlcTw5uWeO^@O)67R88A>esdZ?u z)k>JJb@i?oyfEi#9Ex&HipHTRU~2A|2$;8H@4Wow!$TSr#}R-6=2OScYBUQD#3GjK z6*boCcN*sMP3F=t7cgorjYyVnGM9$AfPuN9*3!Bc8QY$~ZrH^8mG$SH(}+D~<2qzv z{D>@Gm|I(0`}G9X^jUOpJkKb`a|2U? cG{^If!T2Ra^vj?t=%&v%DZl?p{nm{91MbTx@Bjb+ literal 17408 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