找回密码
 立即注册

QQ登录

只需一步,快速开始

spreadforwindow

注册会员

11

主题

63

帖子

140

积分

注册会员

积分
140

微信认证勋章

spreadforwindow
注册会员   /  发表于:2018-12-12 14:57  /   查看:3066  /  回复:6
购买9.35系列的组件在Win10系统上调用Conditional Formatting窗体导致程序奔溃;具体步骤:Conditional Formatting Rules Manager --> new rules -->Format all cells Based on their values--> format style --> Icon Sets /Data Bar

程序报错为:
HResult : 0x80004003
Message:尝试读取或写入受保护的内存。这通常指示其他内存已损坏!
StackTrace: 在 System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   在 System.Windows.Forms.NativeWindow.DefWndProc(Message& m)
   在 System.Windows.Forms.Control.WmCommand(Message& m)
   在 System.Windows.Forms.Control.WndProc(Message& m)
   在 System.Windows.Forms.ComboBox.WndProc(Message& m)
   在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

后续下载11试用版还是同样的错误;

6 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-12-12 16:54:05
沙发
可否发个Demo过来,或者详细说明下具体重现步骤。
回复 使用道具 举报
spreadforwindow
注册会员   /  发表于:2018-12-12 17:38:46
板凳
感谢回复;
我试过写Demo未能重现问题;
出现此问题的产品只是在Win10系统上出现,并之前还有出现SheetView.Cell.CellType-- ColorPickerCellType.DropDown 属性引起WIn10系统下假死现象;和此次的问题很相像,怀疑是控件ComboBox值更新事件,存在刷控件问题;界面存在闪烁;
在Conditional Formatting Rules Manager - New Rules 下Combobox的值更新事件会有将上一次的控件释放,重新加载选中项的控件;怀疑控件释放存在问题;也可能存在和我司产品某些事件存在冲突;

重现:
WIN10系统下;
调用ConditionalFormattingUtils.ShowConditionalFormattingManagerForm(Form , Fpread)
出现问题的控件事件:
Format all cells Based on their values--> format style --> (下拉列表)Icon Sets /Data Bar
Format only cells that contain --> (下拉列表)cell value (Blanks/No Blanks);

回复 使用道具 举报
spreadforwindow
注册会员   /  发表于:2018-12-12 17:53:19
地板
dexteryao 发表于 2018-12-12 16:54
可否发个Demo过来,或者详细说明下具体重现步骤。


感谢回复;
我试过写Demo未能重现问题;
出现此问题的产品只是在Win10系统上出现,并之前还有出现SheetView.Cell.CellType-- ColorPickerCellType.DropDown 属性引起WIn10系统下假死现象;和此次的问题很相像,怀疑是控件ComboBox值更新事件,存在刷控件问题;界面存在闪烁;
在Conditional Formatting Rules Manager - New Rules 下Combobox的值更新事件会有将上一次的控件释放,重新加载选中项的控件;怀疑控件释放存在问题;也可能存在和我司产品某些事件存在冲突;

重现:
WIN10系统下;
调用ConditionalFormattingUtils.ShowConditionalFormattingManagerForm(Form , Fpread)
出现问题的控件事件:
Format all cells Based on their values--> format style --> (下拉列表)Icon Sets /Data Bar
Format only cells that contain --> (下拉列表)cell value (Blanks/No Blanks);
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-12-13 22:42:05
5#
您好,我这边也无法重现此问题,同样是Win10系统。
关于内存的那个异常有时也是和环境相关,建议您换个环境再次测试下
回复 使用道具 举报
spreadforwindow
注册会员   /  发表于:2018-12-14 17:33:27
6#
dexteryao 发表于 2018-12-13 22:42
您好,我这边也无法重现此问题,同样是Win10系统。
关于内存的那个异常有时也是和环境相关,建议您换个环 ...

好难排查了,我放在运行类的里面将方法 CreateConditionalFFormattingForm,返回的Form ShowDialog();放在主程序Program中运行还是出现错误;您这边是否可以贴出点 控件ListBox Format Style 选项2种颜色到数据条或者设置图标的刷新事件吗? 或者假设我频繁刷新Data Bar, 选中事件是如何操作的呢?  
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-12-17 14:59:44
7#
ShowDialog 没有事件,调用了代码就算是触发了,不需要注册事件。
dialog里面的控件都没事件,这个Dialog就是当作工具用的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部