高分求解!!!(100分)

lingice 2001-10-09 09:10:02
各位大虾,
最近我用Delphi做一个接口程序,在程序中我要调用一个用VC++编写的DLL文件,可是
我在程序中调用任何一个DLL里的函数事都出现error对话框,其中一个里面的详细内容如下:
Project IFace.exe raised exception class EAccessViolation With Message'Access
violation at address 1000236F in module'MhsAPI.dll'.Write of address 004019D2'.
Process stopped.Use Step or Run to continue.
调用其他函数时报出的error对话框的内容差不多,就是在地址上有所不同。我的开发环境是
Delphi 5 + Windows 2000 sp2。我对照那个DLL文件的头文件写了一个Delphi格式的声明,我
用“静态”方法来调用DLL文件里的函数。
请问出现这种错误是因为什么原因?有什么解决方法?

谢谢!
...全文
195 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
码农界扛把子 2001-12-12
  • 打赏
  • 举报
回复
lingice(编程浪子)你还想不想混了!
lingice 2001-12-03
  • 打赏
  • 举报
回复
我已经解决了。谢谢!
chechy 2001-10-10
  • 打赏
  • 举报
回复
你不妨把C和Delphi的声明都贴出来看看。
lingice 2001-10-10
  • 打赏
  • 举报
回复
我加上了,可是错误依旧!!!
Help Me!!!!!!!!!!!!!!!!!!!!!!!!!!!!
chechy 2001-10-09
  • 打赏
  • 举报
回复
那么Delphi的函数,也不许加入cdcel的声明。
比如
function HelloWorld: Integer; cdcel;
lingice 2001-10-09
  • 打赏
  • 举报
回复
我使用的是cdcel
chechy 2001-10-09
  • 打赏
  • 举报
回复
这个问题的出现,八成都是你没有正确声明函数参数的压栈方式。到底是stdcall还是cdcel。你不妨把C和Delphi的声明都贴出来看看。
下载代码方式:https://pan.quark.cn/s/e2157c05e625 在信息技术领域中,数学问题的复杂求解在很大程度上依赖于数值计算,这在科学计算、工程析以及数据析等多个方面尤为重要。线性方程组的求解是数值计算中的一个核心且关键的问题,而雅克比迭代法作为一种有效策略,专门用于处理大规模稀疏线性方程组。这个资源提供了一段采用C++语言编写的雅克比迭代法源代码,配合附带的博客文章,能够帮助使用者深入掌握此方法的基本原理和实际应用。 雅克比迭代法,有时也被称作局部迭代方法,主要用于求解形式为 Ax = b 的线性方程组,其中矩阵A需满足对角占优的条件。对角占优的特性是指矩阵中每个对角线元素的绝对值要大于该行其他元素绝对值之和,这一性质确保了算法的收敛性能。该方法的实施基于矩阵A的雅克比矩阵J,其构成方式为 J = D - L - U,其中D、L和U别代表矩阵A的对角线部、下三角部以及上三角部。 迭代过程的数学表达式为:x(k+1) = J^-1 * b + (I - J^-1*A) * x(k),在此表达式中,x(k)表示第k次迭代的解向量,x(k+1)则是第k+1次迭代的解向量,I是单位矩阵。每次迭代都利用前一次得到的解来计算下一次的解,迭代会持续进行,直到解的精度达到预设标准或迭代次数达到最大限制。 在使用C++进行编程实现时,主要步骤包括: 1. 初始化阶段:设定初始解向量x(0),并明确迭代过程中的参数,例如最大迭代次数和容许的误差界限。 2. 构建雅克比矩阵:依据矩阵A的非对角元素来形成J矩阵。 3. 迭代计算:依照上述迭代公式计算新的解向量,并验证是否满足终止条件(即当前解与前一次解的差值小于设定的误差界限)。 4. 结果输出...

5,943

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧