@@@@@@@@@@@@@@@@我有這樣一段代碼﹐不知道能不能按要求改改﹐高手請進﹖@@@@@@@@@@@@@@@@@@@@@
原代碼如下﹕
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,這樣程序做起來就方便好多了﹐行嗎﹖
在線等待@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
问题点数:100、回复次数:7Top
1 楼zousoft(菜菜鸟的战斗诗歌)回复于 2004-05-03 16:51:21 得分 10
行不行你运行一下就知道了.
// RegisterClass(tuserVindicateFrm);
// RegisterClass(TproviderFrm);
// RegisterClass(TfrmAbout);
// RegisterClass(tLoginFrm);
// RegisterClass(TmainFrm);
都是注册一些窗体类, 不知道你要干什么. 如果要动态创建窗体, 不用这样.Top
2 楼popmailzjw(什麼都不會)回复于 2004-05-03 16:56:35 得分 0
To: zousoft(菜菜鸟的战斗诗歌) ( )
如果這樣也可以的話我就不會來問了﹐是動態建立窗體﹐但你要看到是傳字符串(窗體名)建立的﹐如果傳窗體類當然不用這樣做。你用過傳字符串(窗體名)的嗎﹐能不能給個例子!!Top
3 楼aiirii(ari-http://spaces.msn.com/members/aiirii/)回复于 2004-05-03 17:57:36 得分 10
>>就是去掉所有的RegisterClass,這樣程序做起來就方便好多了﹐行嗎﹖
以你的代碼, 不行!!Top
4 楼popmailzjw(什麼都不會)回复于 2004-05-04 08:37:46 得分 0
TO:aiirii(ari-爱的眼睛)
那要怎么做才行?
Top
5 楼aiirii(ari-http://spaces.msn.com/members/aiirii/)回复于 2004-05-04 09:02:12 得分 40
我說不行啊, 就是說, 還是要用原來的 RegisterClass 方法, 要不然, 改動比較大Top
6 楼fim(阿初)回复于 2004-05-04 09:40:58 得分 40
应该不可以的,楼主还是老实一点吧。Top
7 楼popmailzjw(什麼都不會)回复于 2004-05-04 10:29:24 得分 0
我只是覺得我加一個窗體時既要uses還要Register要是能只在這個單元uses一下就可以了就好了
我想問一下大家在做團隊開發時組裝時是怎么做的Top




