delphi可以通过引用操作对象,指针应该也可以吧(pascal种有)。但是我试了试,总试不知道为什么出错,如:
type
pTButton := ^TButton;
...
var
pbtn1: pTButton;
implementation
...
pbtn1 := Addr(TButton.Create(self));
pbtn1^.parent := self;
...
//以上所有对 pbtn1^ 的操作在运行时均出现错误,换为以下也不行:
pbtn1 := Pointer(TButton.Create);
pbtn1^.parent := self;不知道时什么问题,谢谢大家看看。
type
pTButton := ^TButton;
...
var
pbtn1: pTButton;
implementation
...
pbtn1 := Addr(TButton.Create(self));
pbtn1^.parent := self;
...
//以上所有对 pbtn1^ 的操作在运行时均出现错误,换为以下也不行:
pbtn1 := Pointer(TButton.Create);
pbtn1^.parent := self;不知道时什么问题,谢谢大家看看。
解决方案 »
- Exception EConvertError in module xxxx.dll at xxxxxx 是什么意思?
- POSTMESSAGE 与SENDMESSAGE
- 如何知道D3D程序是运行在窗口模式还是全屏模式
- 本人做的左右声道控制控件,需要的进来!
- fastreport 问题,熟悉的帮忙解答啊!!!
- 程序最小化问题。
- 如何用代码控制打印机的换行/换页操作?
- 急呀…B窗体是A窗体继承过来的,怎么在A窗体中调动B窗体中的过程或事件?
- dbgrid排序,不用第三方控件,点TITLE能升降排序
- ADO连接SQLServer的简单问题
- 怎么让菜单(MainMenu1)美观一些??有什么好办法吗??先谢谢;))
- 怎样在代码中进行代码添加呢!急!!
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type pTButton = ^TButton1;
TButton1=record
abs : String;
end; TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
tt : pTButton;
begin
end;end.
var
pbtn1: Pointer;
implementation
...
TButton1:= TButton.Create(self);
pbtn1:=TButton1;
TButton(pbtn1).parent := self;
而不是 objectpointer^.parent