@@@@@@@@@@@@@@@@我有這樣一段代碼﹐不知道能不能按要求改改﹐高手請進﹖@@@@@@@@@@@@@@@@@@@@@

popmailzjw 2004-05-03 03:35:29
原代碼如下﹕
unit uAllForm;

interface

uses windows, forms, classes, sysutils, dialogs;


procedure ShowForm(FFormName: string);
function CreateForm(FFormName: string): TCustomForm;

implementation

uses uUserVindicate, uPublicFun, uMain, Uprovider, uAbout, uLogin;

function CreateForm(FFormName: string): TCustomForm;
var
AFormClass: TFormClass;
begin
result := nil;
try
if FFormName = '' then raise Exception.Create('Need Class Name!');
AFormClass := TFormClass(FindClass('T' + FFormName));
result := AFormClass.Create(application);
except
on E: Exception do
Msg1(E.Message)
else raise;
end;

end;

procedure ShowForm(FFormName: string);
var
AFormClass: TFormClass;
begin
try
if FFormName = '' then raise Exception.Create('Need Class Name!');
AFormClass := TFormClass(FindClass('T' + FFormName));
with AFormClass.Create(application) do
begin
Lockwindowupdate(0);
showmodal;
end;
except
on E: Exception do
Msg1(E.Message)
else raise;
end;
end;
initialization
RegisterClass(tuserVindicateFrm);
RegisterClass(TproviderFrm);
RegisterClass(TfrmAbout);
RegisterClass(tLoginFrm);
RegisterClass(TmainFrm);
end.
不知道能不能改成這樣的

unit uAllUserOperation;

interface

uses windows, forms, classes, sysutils, dialogs;


procedure ShowForm(FFormName: string);
function CreateForm(FFormName: string): TCustomForm;

implementation

uses uUserVindicate, uPublicFun, uMain, Uprovider, uAbout, uLogin;

function CreateForm(FFormName: string): TCustomForm;
var
AFormClass: TFormClass;
begin
result := nil;
try
if FFormName = '' then raise Exception.Create('Need Class Name!');
AFormClass := TFormClass(FindClass('T' + FFormName));
result := AFormClass.Create(application);
except
on E: Exception do
Msg1(E.Message)
else raise;
end;

end;

procedure ShowForm(FFormName: string);
var
AFormClass: TFormClass;
begin
try
if FFormName = '' then raise Exception.Create('Need Class Name!');
AFormClass := TFormClass(FindClass('T' + FFormName));
with AFormClass.Create(application) do
begin
Lockwindowupdate(0);
showmodal;
end;
except
on E: Exception do
Msg1(E.Message)
else raise;
end;
end;


//initialization
// RegisterClass(tuserVindicateFrm);
// RegisterClass(TproviderFrm);
// RegisterClass(TfrmAbout);
// RegisterClass(tLoginFrm);
// RegisterClass(TmainFrm);
end.

就是去掉所有的RegisterClass,這樣程序做起來就方便好多了﹐行嗎﹖
在線等待@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
...全文
19 7 点赞 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
popmailzjw 2004-05-04
我只是覺得我加一個窗體時既要uses還要Register要是能只在這個單元uses一下就可以了就好了

我想問一下大家在做團隊開發時組裝時是怎么做的
  • 打赏
  • 举报
回复
fim 2004-05-04
应该不可以的,楼主还是老实一点吧。
  • 打赏
  • 举报
回复
aiirii 2004-05-04
我說不行啊, 就是說, 還是要用原來的 RegisterClass 方法, 要不然, 改動比較大
  • 打赏
  • 举报
回复
popmailzjw 2004-05-04
TO:aiirii(ari-爱的眼睛)

那要怎么做才行?
  • 打赏
  • 举报
回复
aiirii 2004-05-03
>>就是去掉所有的RegisterClass,這樣程序做起來就方便好多了﹐行嗎﹖
以你的代碼, 不行!!
  • 打赏
  • 举报
回复
popmailzjw 2004-05-03
To: zousoft(菜菜鸟的战斗诗歌) ( )

如果這樣也可以的話我就不會來問了﹐是動態建立窗體﹐但你要看到是傳字符串(窗體名)建立的﹐如果傳窗體類當然不用這樣做。你用過傳字符串(窗體名)的嗎﹐能不能給個例子!!
  • 打赏
  • 举报
回复
zousoft 2004-05-03
行不行你运行一下就知道了.

// RegisterClass(tuserVindicateFrm);
// RegisterClass(TproviderFrm);
// RegisterClass(TfrmAbout);
// RegisterClass(tLoginFrm);
// RegisterClass(TmainFrm);

都是注册一些窗体类, 不知道你要干什么. 如果要动态创建窗体, 不用这样.
  • 打赏
  • 举报
回复
相关推荐
发帖
Delphi
加入

4972

社区成员

Delphi 开发及应用
申请成为版主
帖子事件
创建了帖子
2004-05-03 03:35
社区公告
暂无公告