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

发布于 2024-07-15 07:55:49 字数 556 浏览 8 评论 0原文

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

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

我不认为有任何理由在表单设计器中提出 AV。 如果我在运行时动态创建控件,则不会有任何稳定性问题。 任何人都可以看一下这个并提供一些反馈来帮助我解决这个问题吗?

I'm trying to write a simple component that will allow you to embed one or more SDL rendering surfaces on a Delphi window, using the SDL 1.3 APIs. It will compile and install just fine, but when I try to use the component in the form designer, it raises AVs whenever I try to access its properties in the object inspector, save the form, or delete the component, and placing one on a form then trying to run gives a linker error: it apparently can't read the DFM properly for whatever reason.

The DLL can be found at http://www.libsdl.org/tmp/SDL-1.3-dll.zip and the source code to my component can be downloaded here. SDL.pas is a JEDI-SDL header file; the rest is my own code.

I don't see any reason for this to raise AVs in the form designer. If I dynamically create the control at runtime I don't have any stability issues. Can anyone take a look at this and maybe provide some feedback that might help me clear it up?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谁与争疯 2024-07-22 07:55:49

你可以自己调试这个。 打开包含您的组件的包项目。 然后转到“运行”|“参数”并输入 IDE 本身作为“主机应用程序”。 从 IDE 中运行 IDE。 然后重复您的步骤来重现 AV,IDE 应该停止并向您显示出现问题的位置。 您可以从那里使用正常的调试技术。

You can debug this yourself. Open the package project that contains your component. Then go to Run|Parameters and enter the IDE itself as the Host Application. Run the IDE from within the IDE. Then repeat your steps to reproduce the AV, and the IDE should stop and show you where things are failing. You can use normal debugging techniques from there.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文