有一个variant类型的变量从服务器传递过来,通过该variant类型的变量可以调用服务器端的函数,又有一个TForm的窗口变量完成同样的工作,但是是在不同的版本中使用这两个变量,我想通过一个variant类型的中间变量将这两个不同类型的变量统一起来,这样就便于操作,但无论我用什么方法都无法将tform类型转换为variant类型。不知道我说得是否清楚。
请问,可以做到将tform类型转换为variant类型吗?如果可以,请举个例子;如果不可以,请说明原因。
请问,可以做到将tform类型转换为variant类型吗?如果可以,请举个例子;如果不可以,请说明原因。
解决方案 »
- 如何使用Scanline----------把一个图片按要求分成若干个图片?
- vc枚举转换成delphi的问题
- 问个问题? 他怎么就不能自动添加那? 大家帮忙看看
- 远水不解近火请各位高手帮忙!
- 各位大侠!比较一下这种数据格式,请指教。
- 讨论DELPHI+SQLSERVER B/S 网络解决方案
- 为什么第二次调用EXCEL时数据还是导出到第一个工作表?
- delphi中使用opencv进行bmp转pIplimage的问题.
- 数据交换问题 急..............
- 請問哪有mail2000和askmail控件下載?
- 关于TClientDataSet对中文的支持问题?在线等待!
- 关于delphiADO连接sqlserver数据库联接服务器问题
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
Procedure ShowForm(a:Variant);
public
{ Public declarations }
end;var
Form1: TForm1;implementationuses Unit2;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
a:Variant;
c:Integer;
begin
form2:=TForm2.Create(nil);
c:=Integer(Form2);
a:=c;
showform(a);
end;procedure TForm1.ShowForm(a: Variant);
var
f:TForm;
b:Integer;
begin
b:=a;
f:=TForm(b);
f.Show;
end;end.
tform使用variant只是用它来作为一个指针传递的途径,和你传个指针没有什么两样。
a:tform1;
b:variant;b:=a;
b.show;//能直接调用里面的属性和方法,不需要用tform1(b).show;这样的想法可以实现吗?
var
a:variant;
begin
a:=integer(button1);
tbutton(integer(a)).Show;
end;但是这和:
var
a:=TButton;
begin
a:=button1;
a.show;
end;
有什么区别呢?