//Create:
frm :=Tfrm.create(frm);
frm.Show;//Free:
frm_Flash.Free;
frm :=Tfrm.create(frm);
frm.Show;//Free:
frm_Flash.Free;
解决方案 »
- delphi7 我想把FastMM4去掉 怎么办?
- 帮忙看看错误在那?
- 我设置TMediaplayer的Notify := True;OnNotify := NotifyProc;并在NotifyProc中判断mode,为什么当文件播完却总是playing?
- 为什么我在运行时DBcombobox有下拉列值,可就是选不到框中,这是怎么回事啊?(急等,谢谢!)
- DBEXPRESS+INTERBASE 做的三层软件采用事务,竟发现DBEXPRESS的事务好像有问题?
- 一个关于DLL的问题帮帮忙吧!!!
- 通过ADOConnection.execute(SQL语句)后,用refresh更新记录集时提示'PK'出错。
- InnoDB 中文参考手册 -- MySQL 翻译结束!!
- 帮我答题400分相送!!(急!!!!!!HELP ME)
- TDBgrideh在那个地方设置多行表头?
- 一个菜鸟关于数据库连接的问题
- 一些问题?请来帮帮我!!
dd:Tform;
begin
dd:=tform.create(dd);
dd.parent:=form1;
dd.show;
end;
var
dd:Tform;
begin
dd:=tform.create(dd);
dd.parent:=form1;
//设置属性
dd.show;
end;
Form: TForm;
begin
Form := TForm(FindClass(Edit1.Text)).Create(Application);
try
Form.ShowModal;
finally
Form.Free;
end;
end;
df: TForm;
begin
df := TForm.Create(Self);
if Edit1.text = 'form2' then
begin
TForm2(df).Show; //以此类推
end;
FormName:=TFormName.create(nil);
FormName.show;如果TFormName中没有声明FormName,则在前加上
var
FormName:Tform;
hwndChild := FindWindowEx(Application.Handle, 0, PChar(Edit1.Text), Nil);
若 hwndChild > 0 则 ShowWindow(hwndChild, SW_SHOW);
type tformclass=class of tform;然后... (呵呵,相信你能自己写出后面部分!)若有问题,给个信箱,我发个例子给你.
其实这类似ide中动态生成控件的实例.
df: TForm;
begin
df := TForm.Create(Self);
if Edit1.text = 'form2' then
begin
TForm2(df).Show; //以此类推
end;
try
aFrom:=Tform.create(self);
afrom.showmodle;
finally
aform.free;
end;
k:integervar
theForm : TForm;
begin
inc(k);
theForm := TForm.Create(Application);
theForm.Name :=Edit1.text+inttostr(k);
theForm.Show;
end;
‘自动地把Form2,form2.....form10显示出来’则应理解为原来已经存在(可能是设计阶段设计好的,也可以是在此之前‘動態創建’的),而只是因为某种原因(如visible=false) 而没有显示出来。
不知 reaky(Reaky)指的是哪一种?
....
procedure show_bj_jysjsr(handle:Thandle);stdcall;
begin
Application.CreateForm(TBj_Xcjy_Frm, Bj_Xcjy_Frm);
try
Bj_Xcjy_Frm.ShowModal
finally
Bj_Xcjy_Frm.Free
end
end;
.........动态调用DLL
...
TProc = Procedure(handle :THandle) ;Stdcall; //DLL调用接口过程
TFunc = function(handle :THandle):TForm ;Stdcall; //DLL调用函数
...
procedure RunDll(FunName:string;DllName:string); //运行DLL中的函数
var
Hinst:THandle;
Fpointer:TFarProc;
Myproc: TProc;
begin
Hinst:=0;
try
Hinst := LoadLibrary(Pchar(DllName));
if Hinst >0 then
begin
Fpointer := GetProcAddress(Hinst,Pchar(FunName));
if Fpointer <> nil then
begin
// SetGobalVar(Hinst);
Myproc := TProc(Fpointer) ;
Myproc(Application.Handle) ;
end
else Showmess('E:错误信息',Format('在DLL: %s 中未找到函数:%s !',[DllName,FunName]));
end
else Showmess('E:错误信息',Format('装载DLL:%s 错误!',[DllName]));
finally
FreeLibrary(Hinst);
end;
end;
的名字,需要做的只是把它显示出来?
如果是的话,可以通过主窗口的MDIChildCount属性和MDIChildren数组来遍
历所有的MDI子窗口来找到你需要激活的窗口。
2,如果你的窗口还没有创建,那么给出一个类名,同样可以把它创建起来,
不过你需要给你的窗口注册一下。用到的函数是RegisterClass(Class).
然后可以通过下面的方式来进行创建
function CreateFormByClassname(sClassName: String): TForm ;
var
rClass: TClass ;
begin
rClass := GetClass(sClassName) ;
if rClass <> nil then
application.CreateForm(TComponentClass(rClass),Result) ;
end ;
form2.show;
form2:=TForm2.create(self);
form2.show;
那TForm2可不可以做为一个变量,就好像是Edit1.text
如:Form2中包含
initialization RegisterClass(TForm2);finalization UnRegisterClass(TForm2);end.
相应的Form3为
initialization
initialization RegisterClass(TForm3);finalization UnRegisterClass(TForm3);end.
否则会报找不到指定的类