以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  字体控件更换字体时候出错  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=89702)

--  作者:zunwoun
--  发布时间:2016/8/27 15:04:00
--  字体控件更换字体时候出错

字体变换控件FontPicker更换字体时,如果字体名称从短转换成名字较长的字体时就出错,错误内容如下:

 

The statement has been terminated.
String or binary data would be truncated.

 

请问怎样解决?


--  作者:zunwoun
--  发布时间:2016/8/27 15:39:00
--  

不是字体名称从短到长,而是换名字较长的字体就会出错,例如:“”Microsoft Sans Serif“”,但“宋体”等较短名字的就不会出错

 


--  作者:Hyphen
--  发布时间:2016/8/27 16:19:00
--  
测试没有问题。贴出代码,或者上传例子
--  作者:zunwoun
--  发布时间:2016/8/29 15:46:00
--  

刚初始的时候不会出错,当我执行以下代码,将该字体控件(控件名为“字体样式”)关联到一个标签控件的时候,让该控件的值等于标签控件的字体时,字体控件变更为较长名字的字体就会出错

If Typeof T Is WinForm.label Then

        Dim t1 As WinForm.label = T       

        e.form.Controls("文本内容").value=t1.text

        e.form.Controls("字体大小").value=t1.font.size

      e. form.Controls("字体样式").value=t1.font.name

        e.form.Controls("字体颜色").value=t1.forecolor

  End If


--  作者:大红袍
--  发布时间:2016/8/29 16:01:00
--  

1、报什么错?

 

2、截图或者实例说明问题

[此贴子已经被作者于2016/8/29 16:01:17编辑过]

--  作者:zunwoun
--  发布时间:2016/8/29 16:03:00
--  
The statement has been terminated.
String or binary data would be truncated.

--  作者:大红袍
--  发布时间:2016/8/29 16:05:00
--  

 你把值存入表格里面了?你表格的字符长度,是否有限制?超过就会报这个错。


--  作者:zunwoun
--  发布时间:2016/8/29 16:47:00
--  

e. form.Controls("字体样式").value=t1.font.name

不是存入表格,直接把标签控件的字体名称赋值到字体控件的值中,但附入“宋体”这种短的字体名称没有问题,但"Microsoft Sans Serif”这种比较长的名字字体就会出错,这种错误是在通过代码赋值后发生,没有通过任何代码赋值,直接在控件中选择是不会出现这种错误


--  作者:大红袍
--  发布时间:2016/8/29 17:45:00
--  

 控件没有这种问题。只有你给表列赋值,才会有字符的限制。