以下是出错的代码---------------------------
Debugger Exception Notification
---------------------------
Project Re.exe raised exception class EAccessViolation with message 'Access violation at address 44746669. Read of address 44746669'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
Debugger Exception Notification
---------------------------
Project Re.exe raised exception class EAccessViolation with message 'Access violation at address 44746669. Read of address 44746669'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
解决方案 »
- 我用dspack控件来显示两块视频卡的内容,运行两三小时后弹出窗口windows device出错。
- 大家好,主细表结构的数据怎么插入?
- 在panel上放个image,如何使image在panel上居中?
- 《网络吸管》源代码公布
- Web Broker的一个问题!怎么没人回答我阿?
- 请教有关手机编程的软件和网站?
- 谁能告诉我uml,xml都是什么东西?
- 如何在客户端停止服务器中存储过程的执行`
- 想在往edit中输入编号或姓名时,能从listbox中列出相关记录的编号与姓名,而且是如输入“张”时与“张”相关的记录就列出来,选择记录后。。。。。
- 我的程序需要ADO支持,可是在WIN95无盘站上安装DCOM95和ADO2.1时却安装不上,显示注册OLE32.DLL失败。于是我的DELPHI程序就不能在WIN95无盘站的用了,真急人!!!!怎么解决?
- 新安装xe2,发现CookieManager出现了错误ClientCookie未定义怎么解决
- memo1、memo2内逐个比较每行字符串是否相等问题
很常见的是CLIENTDATASET+DSPV联合使用时
当数据更新失败,在调试其间是会显示出来的,但在运行EXE时却不显示出来
CLIENT DATASET + DSPV请问:DSPV 是什么意思?
三层开发中常用的控件,,
调试是不会捕获。
TFrm_Shift = class(TFrm_SingleNew_Relate)
DS_DbGrid: TDataSource;
Query_DbGrid: TADOQuery;
DBTime_Begin: TDBDateTimeEditEh;
DBTime_End: TDBDateTimeEditEh;
DBLookupComboBox_DeptID: TDBLookupComboBox;
DS_Dept: TDataSource;
Query_Dept: TADOQuery;
DBEdit_Descript: TDBEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
DBCheckBox_Cancel: TDBCheckBox;
DS_ShiftDetail: TDataSource;
GroupBox_Search: TGroupBox;
Label4: TLabel;
btnSearch: TBitBtn;
Query_WeekList: TADOQuery;
Query_PeriodList: TADOQuery;
DS_WeekList: TDataSource;
DS_PeriodList: TDataSource;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Query_ShiftDetail: TADOQuery;
DBCheckBox1: TDBCheckBox;
DBLook_WeekList: TDBLookupComboboxEh;
DBNumberEditEh1: TDBNumberEditEh;
DBLook_PeriodList: TDBLookupComboboxEh;
procedure FormCreate(Sender: TObject);
procedure DBLookupComboBox_DeptIDCloseUp(Sender: TObject);
procedure btnSearchClick(Sender: TObject);
procedure btnSaveClick(Sender: TObject);
procedure DS_DbGridDataChange(Sender: TObject; Field: TField);
procedure Query_ShiftDetailAfterOpen(DataSet: TDataSet);
private
{ Private declarations }
Protected
procedure SetAllControlStatus;override;
Procedure DeleteData(AADODataSet:TADOQuery);override;
public
{ Public declarations }
end;请问那个是 dataprovider ?
//概述:DS_DbGridDataChange:主表数据源变化,从表数据也跟着变化
procedure TFrm_Shift.DS_DbGridDataChange(Sender: TObject; Field: TField);
begin
inherited;
try
try
Query_ShiftDetail.DisableControls;
Query_ShiftDetail.Close;
Query_ShiftDetail.Parameters.ParamByName('ShiftID').Value := Query_DbGrid.FieldByName('ID').AsString;
Query_ShiftDetail.Open; //先执行 AfterOpen 事件,再执行下边的 Query_ShiftDetail.EnableControls;
Query_ShiftDetail.EnableControls; except on E:Exception do
begin
Write_LogErr(C_UnitNo+'0006:DS_DbGridDataChange:主表数据源变化事件',IntToStr(E.HelpContext)+':'+E.Message,'');
end;//end E:Exception
end;//end except finally end;//end finallyend;
下边这个地方出错了! Query_ShiftDetail.EnableControls;
Query_ShiftDetail.Close;
Query_ShiftDetail.Parameters.ParamByName('ShiftID').Value := Query_DbGrid.FieldByName('ID').AsString;
Query_ShiftDetail.Open; //先执行 AfterOpen 事件,再执行下边的 Query_ShiftDetail.EnableControls;
Query_ShiftDetail.EnableControls;
应该是Query_ShiftDetail.Close;后Query_ShiftDetail.DisableControls;
这个代码就无效了吧,
Query_ShiftDetail.Open后就不用Query_ShiftDetail.EnableControls;了操作OPEN与CLOSE不要执行DisableControls和DisableControls语句
Query_ShiftDetail.EnableControls;所以这两条代码是可以删除的
Query_ShiftDetail.EnableControls;不是配合Open和Close使用的,一般用于循环记录时才用到当Query_ShiftDetail.Open后Query_ShiftDetail.EnableControls;就默认是有效的所以不必加上Query_ShiftDetail.EnableControls;
调试是不会捕获。