B
Big_Z
Unregistered / Unconfirmed
GUEST, unregistred user!
chen66:
Sorry! 我刚刚急着赶去吃饭,……
*_*!
首先‘invalid class typecast’是表示在作强制类型转换的过程中,
常会发生的问题,那么,再看下面的代码,就很容易知道:Label 和 DBMemo
控件的 OnMouseUp 事件都是由 MyMouseUp 进行处理的,在处理 Label 的
时候,
acomp[(sender as tdbmemo).tag].width:=acomp[(sender as tdbmemo).tag].Width +x;
会出错,因为 Sender 是 TLabel 类型的,强制转换成 TDBMemo 是不行的,
处理 TDBMemo 时也一样!
在同时修改公共属性时,可以用上面的方法,他们都是 TControl 派生出来的,
而且 TControl 同时具有 Tag 、Width 和 Height 属性。
在修改非公共属性时,可以通过如下方法加以区别对待:
if Sender is TLabel then
(Sender as TLabel).Caption := 'Hello!'
else if Sender is TDBMemo then
(Sender as TDBMemo).Lines.Add('Hello!');
另外,你给的分太多了!!!
>授人以鱼不如授人以渔
再次向你道歉,并感谢你的告戒!!!
Sorry! 我刚刚急着赶去吃饭,……
*_*!
首先‘invalid class typecast’是表示在作强制类型转换的过程中,
常会发生的问题,那么,再看下面的代码,就很容易知道:Label 和 DBMemo
控件的 OnMouseUp 事件都是由 MyMouseUp 进行处理的,在处理 Label 的
时候,
acomp[(sender as tdbmemo).tag].width:=acomp[(sender as tdbmemo).tag].Width +x;
会出错,因为 Sender 是 TLabel 类型的,强制转换成 TDBMemo 是不行的,
处理 TDBMemo 时也一样!
在同时修改公共属性时,可以用上面的方法,他们都是 TControl 派生出来的,
而且 TControl 同时具有 Tag 、Width 和 Height 属性。
在修改非公共属性时,可以通过如下方法加以区别对待:
if Sender is TLabel then
(Sender as TLabel).Caption := 'Hello!'
else if Sender is TDBMemo then
(Sender as TDBMemo).Lines.Add('Hello!');
另外,你给的分太多了!!!
>授人以鱼不如授人以渔
再次向你道歉,并感谢你的告戒!!!