日常使用AlphaControls控件TsDBCombobox,作为数据变化数据的控件。通常正常使用,一日
发现,出现以下错误:
控件访问违规的源代码,出错代码:
- function TacMainWnd.CallPrevWndProc(const Handle: hwnd; const Msg: longint; const WParam: WPARAM; var LParam: LPARAM): LRESULT;
- var
- M: TMessage;
- begin
- if Assigned(OldWndProc) then begin
- M.Msg := Msg;
- M.WParam := WParam;
- M.LParam := LParam;
- M.Result := 0;
- OldWndProc(M);
- Result := M.Result;
- LParam := M.LParam;
- end
- else
- if Assigned(OldProc) then
- try
- Result := CallWindowProc(OldProc, Handle, Msg, WParam, LParam) // 出错
- except
- Result := 0;
- end
- else
- Result := 0;
- end;
经过一翻查找,竟然是TsDBCombobox的选择字符sDBComboBox1.Items.Text中,不能有空行。
例如:
水费
电费
通讯费
燃气费
生活用品
文化用品
办公费
设备添置
设备维修
运行补贴
蔬菜
肉类
主食
副食
主副食
食堂辅料
助餐主副食
助餐辅料
助餐费
工资福利_管理
工资福利_护理
养老保险_护理
养老保险_管理
公积金_护理
公积金_管理
培训_护理
培训_管理
为了方便选择,上述字符串加,加了一行空行。结果,造成相关的出错。删空行后,消除出错。原控件需要改进。