日常使用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中,不能有空行。
例如:
水费
电费
通讯费
燃气费
生活用品
文化用品
办公费
设备添置
设备维修
运行补贴
蔬菜
肉类
主食
副食
主副食
食堂辅料
助餐主副食
助餐辅料
助餐费
工资福利_管理
工资福利_护理
养老保险_护理
养老保险_管理
公积金_护理
公积金_管理
培训_护理
培训_管理
为了方便选择,上述字符串加,加了一行空行。结果,造成相关的出错。删空行后,消除出错。原控件需要改进。