xiaole170 发表于 2006-5-16 19:40

这个错误信息主要是什么原因引起的阿

Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 00401D4A in module 'Project1.exe'. Read of address 35609BD2'. Process stopped. Use Step or Run to continue.<BR>这个错误信息主要是什么原因引起的阿,或者是什么方面的因素

happy 发表于 2006-5-16 19:48

回复:(xiaole170)这个错误信息主要是什么原因引起的...

这个是内存地址访问错误,引发的原因很多,不知道你这个是在什么情况下出现的?<BR><BR>试一下单步调试吧,看一下出错在哪句,多数是类的create free的问题!

xiaole170 发表于 2006-5-16 20:21

回复:(happy)回复:(xiaole170)这个错误信息主要...

<P>就是在调用memcpy(outp,b.parray-&gt;pvData,1*sizeof(double));这一句时出现的。<BR>以下是在C++ Builder中调用COM组件的代码,在参数传递时老出现这个问题。<BR>double src1;// 传入数据数组<BR>double src2;<BR>double src3;<BR>double outp;//传出数据数组<BR>SAFEARRAY InSafeArray1;//用于传入的安全数组<BR>SAFEARRAY InSafeArray2;<BR>SAFEARRAY InSafeArray3;<BR>TVariant a1;//传入COM的变体<BR>TVariant a2;<BR>TVariant a3;<BR>TVariant b;//传出COM的变体<BR>src1=0.05;//传入数据赋值<BR>src2=3;<BR>src3=4;</P>
<P>InSafeArray1.cDims=1;//设置输入安全数组<BR>InSafeArray1.fFeatures=FADF_AUTO;<BR>InSafeArray1.cbElements=sizeof(double);<BR>InSafeArray1.rgsabound.lLbound=0;<BR>InSafeArray1.cLocks=1;<BR>InSafeArray1.rgsabound.cElements=1;<BR>VariantInit(&amp;a1);<BR>InSafeArray1.pvData=src1;<BR>a1.SetSAFEARRAY(&amp;InSafeArray1);<BR>a1.vt=VT_R8|VT_ARRAY;<BR>InSafeArray2.cDims=1;//设置输入安全数组<BR>InSafeArray2.fFeatures=FADF_AUTO;<BR>InSafeArray2.cbElements=sizeof(double);<BR>InSafeArray2.rgsabound.lLbound=0;<BR>InSafeArray2.cLocks=1;<BR>InSafeArray2.rgsabound.cElements=1;<BR>VariantInit(&amp;a2);<BR>InSafeArray2.pvData=src2;<BR>a2.SetSAFEARRAY(&amp;InSafeArray2);<BR>a2.vt=VT_R8|VT_ARRAY;<BR>/*InSafeArray3.cDims=1;//设置输入安全数组<BR>InSafeArray3.fFeatures=FADF_AUTO;<BR>InSafeArray3.cbElements=sizeof(double);<BR>InSafeArray3.rgsabound.lLbound=0;<BR>InSafeArray3.cLocks=1;<BR>InSafeArray3.rgsabound.cElements=1;<BR>VariantInit(&amp;a3);<BR>InSafeArray3.pvData=src3;<BR>a3.SetSAFEARRAY(&amp;InSafeArray3);<BR>a3.vt=VT_R8|VT_ARRAY;*/</P>
<P>Probability_Distributing1-&gt;t_check_up_know(1,&amp;b,a1,a2);<BR>memcpy(outp,b.parray-&gt;pvData,1*sizeof(double));<BR>Edit1-&gt;Text=int(outp);</P>

xiaole170 发表于 2006-5-16 20:44

回复:(xiaole170)回复:(happy)回复:(xiaole17...

happy教授还在不

happy 发表于 2006-5-16 21:23

回复:(xiaole170)这个错误信息主要是什么原因引起的...

用单步调试自己找一下那个语句有错吧
页: [1]
查看完整版本: 这个错误信息主要是什么原因引起的阿