不会BCB,应该很容易的(200分)

  • 主题发起人 主题发起人 y9y
  • 开始时间 开始时间
Y

y9y

Unregistered / Unconfirmed
GUEST, unregistred user!
抱歉,刚开始用BCB,在DELPHI里,下面的语句用BCB该怎么写啊

var
aControlClass : TControlClass
aControl : TControl;
begin
aControlClass := TControlClass(FindClass('TButton'));
aControl := TControlClass.Create(Form1);

end;

initialization
RegisterClass (TButton);
 
{
TControlClass aControlClass;
TControl aControl;

aControlClass = TControlClass(FindClass("TButton"));
aControl = TControlClass->Create(Form1);
}
初始化不知
 
{
RegisterClass (__classid(TButton));
TControlClass aControlClass;
TControl *aControl;
aControlClass=TControlClass (FindClass("TButton"));
aControl=new TControl(Form1);
}

以上代码在cb下调试pass
 
有同感,捡不到分了!
 
该死的,我的代码里,差一个字母,使整个代码含义都改变了
aControl := TControlClass.Create(Form1);应该是
aControl := aControlClass.Create(Form1);

整个代码应该是
var
aControlClass : TControlClass
aControl : TControl;
begin
aControlClass := TControlClass(FindClass('TButton'));
aControl := aControlClass.Create(Form1);
end;
initialization
RegisterClass (TButton);

抱歉,错在最关键的地方了,我愿意加分,得到这题的答案

SONIE和郭玉粱的答案都对,但,问题的关键却因为我打错的那个字母
而没解决,这样代码的结果是产生了一个TCONTROL,而不是TBUTTON
而我要的是,最后产生个TBUTTON

问题没完,请帮忙
 
另一个ACTIONBAR的例子

http://www.geocities.com/delphihelp/info/ABExpressTutorial.htm
 
迄今为止最好的办法就是把上述代码用Delphi写成一个函数,
然后把这个unit加入到C++ Builder的Project中调用。
 
??Delphi部份的程序没有大错啊?
procedure TForm1.FormShow(Sender: TObject);
var
aControlClass : TControlClass
aControl : TControl;
begin
aControlClass := TControlClass(FindClass('TButton'));
aControl := aControlClass.Create(Form1);
with TButton(AControl) do
begin
Caption:='123';
Parent:=Form1;
Top:=10;
Left:=10;
end;
end;

initialization
RegisterClass (TButton);

end.
我试了,能得到Button的..
 
杜宝,我在提这问题的第一贴中的代码错了
aControl := TControlClass.Create(Form1);应该是
aControl := aControlClass.Create(Form1);

下面的更正当然是对的DELPHI代码,而我的问题是,如何把
这段代码翻译到CBUILDER上。

温柔一刀,用CBUILDER表述不出来么?

 
是的,CBuilder/C++本身的语法肯定是不支持这种直接表述的
上面的方法最简单,此外还有两种办法:

一个是自己作个模板,应该也能解决;
另一个是利用Application->CreateForm,其实和自己做一个delphi unit是一样的,
因为Application->CreateForm是VCL的方法。这样做虽然省去了自己做一个unit,
但是对特定方法的依赖性增强了,未必更好
 
to y9y:你这一改就好象不行了,至少我不知怎么搞了(cb下)

要不你把这个unit直接加进cb project编译。
 
谢谢各位,至少,我知道用C的方式不能表述

aControl := aControlClass.Create(Form1);

温柔一刀和SONIE的建议,把它作为一个PASCAL的UNIT加
进CBUILDER的PROJECT里,当然可以,只是心有不甘,呵呵。

我把分大致分了,如果不合适,请来信告诉我,我再加分。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
627
import
I
I
回复
0
查看
781
import
I
后退
顶部