请看源码:
var
myObject: TObject;
_PChar: PAnsiChar;
begin
New(_PChar);
try
myObject := TObject(_PChar); if myObject <>nil then
if myObject is TLabel then//这句话直接报异常了,不知道怎么回事
begin
ShowMessage('111');
end
else
begin
ShowMessage('222');
end;
var
myObject: TObject;
_PChar: PAnsiChar;
begin
New(_PChar);
try
myObject := TObject(_PChar); if myObject <>nil then
if myObject is TLabel then//这句话直接报异常了,不知道怎么回事
begin
ShowMessage('111');
end
else
begin
ShowMessage('222');
end;
解决方案 »
- 如何使用微软标准CSP接口修改usbkey的PIN码?
- 用Clientdataset、Append追加记录,如何即时在Dbgrid上显示出来?
- 200分求一通用导出Excel的存储过程,在线等
- 先来20分,关于DOC文件转PDF文件加入禁止COPY的功能,谁解决了分多的是
- 学习DELPHI的道路真坎坷,总有问题堆积如山又解决不了,大侠帮忙!谢谢!谢谢!
- 各位兄弟,好久没来这儿了,散分,顺便问问,大家年终奖一般有多少,你们平时有没有季度奖,多少?
- 很郁闷的问题!请大家帮帮忙!
- 给个delphi7.0中文版的下载地址,能下的散分!
- 如何物理删除DBGrid中的选定的一条记录,即数据库中也同时被删除,
- 我编了一个键盘纪录软件,愿意与大家分享
- 能不能获得clientdataSet更新后的执行过程的SQL操作语句呢?
- 关于delphi中LookupComboBox 过滤的问题咨询
procedure TForm1.Button_1Click(Sender: TObject);
var
myObject: TObject;
_PChar: PAnsiChar;
begin
New(_PChar);
myObject := TObject(_PChar^);
if myObject <>nil then
if myObject is TObject then
begin
ShowMessage('111');
end
else
begin
ShowMessage('222');
end;
end;
var
myObject : TObject;
_PWord : PWord;
LWord : Word;begin
New(_PWord);
LWord := 3;
_PWord := @LWord;
myObject := TObject(_PChar^); if myObject <> nil then
if myObject is TObject then
begin
ShowMessage('111');
end
else
begin
ShowMessage('222');
end;end;我将 指针赋值后,还是报错啊 ,怎么回事?
delphi 就不支持 指针强制转 对象?
因为delphi的对象本身就是一个指针,所以是支持对象转指针的。
你的问题点在于你指针所指向的位置是不是对象的问题。