Delphi:框架之间的通信
框架之间和框架内如何通信? 例如:框架 1 和框架 2。
框架 2 位于框架 1 中。要将框架 2 插入到框架 1 中,我从 ToolPalette -> 添加框架。
type
TFrame1 = class(TFrame)
Frame22: TFrame2;
var MyFrame1:TFrame1; // Now I can access to everything within a frame and from other frames too
implementation
但我在尝试访问 MyFrame1 并在框架 1 内或从其他框架中执行类似 MyFrame1.Button1.Enable 的操作时遇到错误: “异常类 EAccessViolation 带有消息“模块‘P1.exe’中地址 0084858C 处的访问冲突”
如何从帧 2 访问帧 1? MyFrame1->错误。
谢谢!
How to communicate among frames and within a frame?
For example: a Frame 1 and a Frame 2.
The frame 2 is in the frame 1. To insert the frame 2 into the frame 1 I add frames from ToolPalette ->
type
TFrame1 = class(TFrame)
Frame22: TFrame2;
var MyFrame1:TFrame1; // Now I can access to everything within a frame and from other frames too
implementation
But I have an error trying to access to MyFrame1 and to do something like MyFrame1.Button1.Enable within the frame 1 or from other frames:
"Exception class EAccessViolation with a message 'Access violation at address 0084858C in module 'P1.exe'"
How to access to the frame 1 from the frame 2? MyFrame1->Error.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
请删除全局变量声明:
它通常对框架没有意义。
您可以将子框架的
Owner
类型转换为TFrame1
,例如:Please delete the global variable declaration:
It usually makes no sense for frames.
You can typecast the child frame's
Owner
toTFrame1
, for example:TOndrej 提到使用 Owner,但这通常是形式,而不是 Frame1。 Frame2 的父级应该是 Frame1,因此:
更新添加了使用 Parent.Controls 查找 TFrame1 的代码。
TOndrej mentioned using the Owner, but that is usually the form, not Frame1. The Parent of Frame2 should be Frame1, so:
Updated added code to use Parent.Controls to find a TFrame1.