<DIV>Frank, this is&nbsp;my example for you to test the ver1.5.2 OGRFeatureStyle.cpp. Thank you.</DIV>
<DIV>//-------------------------------CODE----------------------------------------------------------</DIV>
<DIV>&nbsp;&nbsp;&nbsp; bool CreateDefaultStyle("shpcreate\\1.tbl", 2);</DIV>
<DIV>&nbsp;&nbsp; &nbsp;void main()<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp; bool res = CreateDefaultStyle("shpcreate\\1.tbl", 2);<BR>&nbsp;&nbsp; }</DIV>
<DIV>&nbsp;</DIV>
<DIV>bool CreateDefaultStyle(CString strTlbPath, int nType)<BR>{ <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OGRStyleTable oStyleTable;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OGRStyleMgr&nbsp;&nbsp; *poStyleMgr = new OGRStyleMgr(&amp;oStyleTable);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bool res;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; switch(nType)<BR>&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 1:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //point<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; res = poStyleMgr-&gt;AddStyle("@symbol", "SYMBOL(c:#00FF00,id:\"swS0\",s:1.0,l:1)");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; res = poStyleMgr-&gt;AddStyle("@label", "LABEL(c:#FFFF00,f:\"MS Gothic\",s:10px,t:\"\",l:1)");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; res = oStyleTable.SaveStyleTable(strTlbPath);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;case 2:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //line<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; res = poStyleMgr-&gt;AddStyle("@symbol", "SYMBOL(c:#00FF00,id:\"swS0\",s:1.0,l:1)");//<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; res = poStyleMgr-&gt;AddStyle("@label", "LABEL(c:#0000FF,f:\"MS Gothic\",s:10px,t:\"\",l:1)");//<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; res = poStyleMgr-&gt;AddStyle("@line", "PEN(c:#FF0000,w:3px,id:\"swL0\",l:1)");//<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; res = oStyleTable.SaveStyleTable(strTlbPath); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;case 3:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //polygon<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; res = poStyleMgr-&gt;AddStyle("@symbol", "SYMBOL(c:#00FF00,id:\"swS0\",s:1.0,l:1)");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; res = poStyleMgr-&gt;AddStyle("@label", "LABEL(c:#FF0000,f:\"MS Gothic\",s:10px,t:\"\",l:1)");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; res = poStyleMgr-&gt;AddStyle("@line", "PEN(c:#FF0000,w:3px,id:\"swL0\",l:1)");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; res = poStyleMgr-&gt;AddStyle("@brush", "BRUSH(fc:#C0C0C0,id:\"swR0\")");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; res = oStyleTable.SaveStyleTable(strTlbPath); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp; if(poStyleMgr)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp; delete poStyleMgr;<BR>&nbsp;&nbsp;&nbsp;&nbsp; poStyleMgr = NULL;<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp; if(!res)<BR>&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp; return false;<BR>&nbsp; }<BR>&nbsp; return true;<BR>}</DIV>
<DIV>//--------------------------------END----------------------------------------------------------</DIV>
<DIV style="FONT-SIZE: 12px; COLOR: #909090; FONT-FAMILY: Arial Narrow">------------------</DIV>
<DIV>
<DIV>To the world you're little, but to a person you're the world.</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Chen Xuexia</DIV></DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: 2px; PADDING-TOP: 2px; FONT-FAMILY: Arial Narrow">------------------&nbsp;Original&nbsp;------------------</DIV>
<DIV style="FONT-SIZE: 12px">
<DIV id=menu_sender><B>From: </B>&nbsp;"wow"&lt;27949218@qq.com&gt;;</DIV>
<DIV><B>Date: </B>&nbsp;Tue, Aug 19, 2008 09:13 AM</DIV>
<DIV><B>To: </B>&nbsp;"Frank Warmerdam"&lt;warmerdam@pobox.com&gt;; </DIV>
<DIV><B>Cc: </B>&nbsp;"gdal-dev"&lt;gdal-dev@lists.osgeo.org&gt;; </DIV>
<DIV><B>Subject: </B>&nbsp;Re: [gdal-dev] OGRFeatureStyle update from version1.4.1 to 1.5.2;</DIV></DIV>
<DIV>&nbsp;</DIV>
<DIV style="FONT-WEIGHT: normal">
<DIV>Hi,&nbsp; Frank, welcome to China. I'd like to see you in Beijing, i'm sure that you're the &nbsp;joss of many young students, hehe.</DIV>
<DIV>&nbsp; I have found the reason why&nbsp; failed to deal styles with ver1.5.2. Compared&nbsp; with ver1.4.1, &nbsp; CPLSPrintf() is replaced the CPLString().Printf()&nbsp; , and i could trace the error to CPLString().Printf() every time debug. It might not allocate memory for the dest string in CPLString().Printf(). Of cource, if i still use CPLSPrintf(), no error occurs. Is this a bug in whole OGRFeatureStyle.cpp in ver1.5.2? </DIV>
<DIV style="FONT-SIZE: 12px; COLOR: #909090; FONT-FAMILY: Arial Narrow">------------------</DIV>
<DIV>
<DIV>To the world you're little, but to a person you're the world.</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; Chen Xuexia</DIV></DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: 2px; PADDING-TOP: 2px; FONT-FAMILY: Arial Narrow">------------------ Original ------------------</DIV>
<DIV style="FONT-SIZE: 12px">
<DIV id=menu_sender><B>From: </B>&nbsp;"Frank Warmerdam"&lt;warmerdam@pobox.com&gt;;</DIV>
<DIV><B>Date: </B>&nbsp;Mon, Aug 18, 2008 11:12 PM</DIV>
<DIV><B>To: </B>&nbsp;"wow"&lt;27949218@qq.com&gt;; </DIV>
<DIV><B>Cc: </B>&nbsp;"gdal-dev"&lt;gdal-dev@lists.osgeo.org&gt;; </DIV>
<DIV><B>Subject: </B>&nbsp;Re: [gdal-dev] OGRFeatureStyle update from version1.4.1 to 1.5.2;</DIV></DIV>
<DIV>&nbsp;</DIV>
<DIV style="FONT-WEIGHT: normal">On 8/17/08, wow &lt;27949218@qq.com&gt; wrote:<BR>&gt; Hi,<BR>&gt; &nbsp; When i tried to update my whole program from ver1.4.1 to 1.5.2, all worked<BR>&gt; well except the&nbsp; OGRFeatureStyle&nbsp; module. The function<BR>&gt; OGRStyleMgr::AddStyle() couldn't write the provided style<BR>&gt; name and style string right with ver1.5.2, but could run smoothly with<BR>&gt; version 1.4.1.<BR>&gt; &nbsp; My code :<BR><BR>Chen,<BR><BR>There has been some work on the style string parser since 1.4 and<BR>I suspect it has been subtly broken for your case in some fashion.<BR>Could you file a ticket?&nbsp; Make sure you provide any additional<BR>details we might need, like the format you are trying to write to.<BR><BR>Ideally a single small self contained program demonstrating the<BR>problem would be best.<BR><BR>Best regards,<BR>-- <BR>---------------------------------------+--------------------------------------<BR>I set the clouds in motion - turn up &nbsp; | Frank Warmerdam, warmerdam@pobox.com<BR>light and sound - activate the windows | http://pobox.com/~warmerdam<BR>and watch the world go round - Rush&nbsp; &nbsp; | Geospatial Programmer for Rent<BR></DIV></DIV>