cds.data:=dsp.data赋值有时会出现av错误剖析

咏南中间件和开发框架 咏南中间件和开发框架     2022-08-05     337

关键词:

cds.data:=dsp.data赋值有时会出现AV错误剖析

 

如果QUERY没有查询到任何数据,cds.data:=dsp.data赋值会触发AV错误。

大家知道,DATASNAP有许多远程方法就是返回OLEVARIANT类型的数据,当远程方法没有返回任何数据的时候,cds.data:=远程方法函数赋值的时候,同样会触发AV错误。

那么怎样解决此类问题呢?

1)中间件远程方法作如下处理

function TServerMethods1.QuerySql(const accountNo, sql: WideString): OleVariant;
var
d: TfrmDB;
begin
Result := null;  // 默认返回NULL
if (accountNo = ‘‘) or (sql = ‘‘) then
Exit;

2)客户端调用远程方法作如下处理

function TdmSys.QuerySQL(const sql: string; cds: TClientDataSet; accountno: string = ‘0‘): Boolean;
var
v: OleVariant;
m: TServerMethods1Client;
begin
Result := False;
try
waitInfo.Show;
waitInfo.Update;

if appInfo.tier = 3 then
begin
if ConnectAppServer and (sql <> ‘‘) and (cds <> nil) then
begin
m := TServerMethods1Client.Create(SQLConnection1.DBXConnection);
v := m.QuerySQL(accountno, sql);
m.Free;
if not VarIsNull(v) then  // VarIsNull(v) 判断远程方法是否有返回数据
begin
cds.Data := v;
Result := True;
end;
end;

BeautifulSoup 有时会出现异常

】BeautifulSoup有时会出现异常【英文标题】:BeautifulSoupsometimesgivesexceptions【发布时间】:2015-02-1318:01:30【问题描述】:奇怪的是,有时BeautifulSoup对象确实提供了所需的数据,但有时我会收到类似或listindexerror或outofrange或nonetypeobje... 查看详情

Unity 代码无法缩进,有时会出现故障

】Unity代码无法缩进,有时会出现故障【英文标题】:UnityCodenotworkingasindented,SometimesaGlitchoccurs【发布时间】:2021-09-2718:29:49【问题描述】:usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassJamesController:MonoBehav 查看详情

waveout 有时会出现内存问题

】waveout有时会出现内存问题【英文标题】:waveoutsometimesmemoryissue【发布时间】:2010-02-2318:56:31【问题描述】:此代码可通过平台调用服务使用winmm.dll输出2秒的钢琴音,在XP上似乎可以正常工作,但在windows7rc中waveoutopen失败根据Jo... 查看详情

Heroku Amazon s3 图像 - 有时会出现 403 错误?

】HerokuAmazons3图像-有时会出现403错误?【英文标题】:HerokuAmazons3images-403errorsometimes?【发布时间】:2018-01-1507:53:38【问题描述】:我在Heroku设置了服务器,并使用Amazons3进行图像存储(使用carrierwavegem上传它们),但有时我会收... 查看详情

resultset连续通过statement赋值,会出现错误

  ResultSet连续通过Statement赋值,会出现错误  错误提示:jdbcOperationnotallowedafterResultSetclosed  1publicTask[]getTaskInfo(Stringa_id){2Task[]task=null;3Connectionconn=null;4Statementstmt=null;5ResultSetrs1=null;6R 查看详情

为啥在 Windows 上的 Chrome 或 Safari 上查看时,html 文本有时会出现乱码?

】为啥在Windows上的Chrome或Safari上查看时,html文本有时会出现乱码?【英文标题】:WhywouldhtmltextsometimesappeargarbledwhenviewingonChromeorSafarionWindows?为什么在Windows上的Chrome或Safari上查看时,html文本有时会出现乱码?【发布时间】:2011-... 查看详情

使用 SubsamplingScaleImageView 的 Android ViewPager 在滑动图像时有时会出现黑屏

】使用SubsamplingScaleImageView的AndroidViewPager在滑动图像时有时会出现黑屏【英文标题】:AndroidViewPagerusingSubsamplingScaleImageViewresultsinblankscreenforsometimewhenslidingimages【发布时间】:2016-02-2914:06:01【问题描述】:我使用davemorrissey\'sSubsampl... 查看详情

有时会在没有网络的情况下创建 pod,这会导致 pod 反复失败并出现 CrashLoopBackOff

】有时会在没有网络的情况下创建pod,这会导致pod反复失败并出现CrashLoopBackOff【英文标题】:OccasionallypodswillbecreatedwithnonetworkwhichresultsinthepodfailingrepeatedlywithCrashLoopBackOff【发布时间】:2017-07-0303:02:59【问题描述】:有时,我会... 查看详情

ios - 核心数据:为啥有时会出现“Entity name must not be nil”?

】ios-核心数据:为啥有时会出现“Entitynamemustnotbenil”?【英文标题】:ios-coredata:Whydoes"Entitynamemustnotbenil"sometimesoccur?ios-核心数据:为什么有时会出现“Entitynamemustnotbenil”?【发布时间】:2011-04-1014:40:15【问题描述】:... 查看详情

为啥显示自绘无模对话框时会出现任务栏? .. 有时?

】为啥显示自绘无模对话框时会出现任务栏?..有时?【英文标题】:WhydoesthetaskbarappearwhenIdisplayaself-drawnmodelessdialog?..sometimes?为什么显示自绘无模对话框时会出现任务栏?..有时?【发布时间】:2011-09-0123:25:56【问题描述】:我... 查看详情

el-table使用时,动态赋值会出现闪烁的问题

...技术A使用el-table实现列表时,因为每次都是清空后再重新赋值的,出现了闪烁的问题,整个页面会抖动,也就是el-table会出现暂无数据的效果,解决方案就是,在请求数据前不要清空数组的数据,而是请求成功后,再清空再赋值... 查看详情

grails spring security ui登录有时会出现奇怪的重定向

】grailsspringsecurityui登录有时会出现奇怪的重定向【英文标题】:grailsspringsecurityuiloginweirdredirectsometimes【发布时间】:2014-12-1105:34:27【问题描述】:大家好,我正在Grails中开发一个应用程序,我正在尝试使用springsecuritycore和ui。... 查看详情

PyObject_CallMethod 在调用 python 方法时有时会出现段错误

】PyObject_CallMethod在调用python方法时有时会出现段错误【英文标题】:PyObject_CallMethodsometimessegfaultwhencallingpythonmethod【发布时间】:2020-09-1802:21:03【问题描述】:我正在测试一个场景,当C++将函数指针设置为python类变量,然后使用... 查看详情

切换到我的应用程序会导致粘贴板清除。 iPad粘贴按钮有时不会出现

】切换到我的应用程序会导致粘贴板清除。iPad粘贴按钮有时不会出现【英文标题】:Switchingintomyappcausespasteboardtoclear.iPadPastebuttonwon\'tappearsometimes【发布时间】:2012-02-0818:18:07【问题描述】:我在使用粘贴板时遇到了一个非常奇... 查看详情

vueelement学习和问题处理

...变化。添加:this.$nextTick(()=>this.resetForm(type););将form的赋值写在后面。如果还是不行,就将赋值写在this.$nextTick(function()****);2.编辑时,部分组件赋值有问题,例如autoComplate选择值后无法自动带入到内容框,需要点击其它按钮触... 查看详情

c#中用backgroundworker调用ui的textbox控件,对其赋值,有时会抛出异常。

...ork中做的事情是没隔500毫秒做一些计算,然后将计算结果赋值给UI的textbox;赋值代码如下:tbBox1Loop.Text=(loop+1).ToString();运行过程中有时会抛出异常,提示冲突对控件的操作应该交给创建控件的线程去完成,先判断InvokeRequired,然... 查看详情

使用animate()的时候,有时候会出现移进移出的闪动问题

怎么解决这种问题呢?在animate()前面需要加上stop()例如:$(".nav_list").hover(function(){$(".div1").stop().slowDown();},function(){$(".div1").stop().slowUp();})  查看详情

fortran里的数组赋值

...A(3,2)=(/1,2,3,4,5,6/)总是出现问题?辅导书上不都是这么赋值的吗。版本是fortran95主要是2维或者2维以上的数组错误信息的含义是数组赋值的语句里所有元素必须是同一数据类型变量a是real(8),虽然程序中赋值用的是整形的(/1,2,3/)... 查看详情