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

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,這樣程序做起來就方便好多了﹐行嗎﹖
在線等待@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
...全文
48 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
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);

都是注册一些窗体类, 不知道你要干什么. 如果要动态创建窗体, 不用这样.

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧