为什么我的自定义组件会在IDE中引发AV?

时间:2009-03-09 17:58:22

标签: delphi components sdl access-violation

我正在尝试编写一个简单的组件,它允许您使用SDL 1.3 API在Delphi窗口上嵌入一个或多个SDL渲染表面。它将编译和安装得很好,但是当我尝试在表单设计器中使用该组件时,每当我尝试在对象检查器中访问其属性,保存表单或删除组件,并将其放置在一个上时,它就会引发AV。然后尝试运行的表单给出了一个链接器错误:它显然无法以任何理由正确读取DFM。

可以在http://www.libsdl.org/tmp/SDL-1.3-dll.zip找到DLL,我的组件的源代码可以下载here。 SDL.pas是一个JEDI-SDL头文件;其余的是我自己的代码。

我认为没有任何理由在表单设计器中引发AV。如果我在运行时动态创建控件,我没有任何稳定性问题。任何人都可以看看这个,并提供一些可能有助于我清理它的反馈吗?

1 个答案:

答案 0 :(得分:14)

您可以自己调试。打开包含组件的包项目。然后转到Run | Parameters并输入IDE本身作为Host Application。从IDE中运行IDE。然后重复您的步骤以重现AV,IDE应该停止并向您显示失败的位置。您可以使用常规调试技术。