to wugwdelphi,
过程一
procedure TMainForm.aCStateExecute(Sender: TObject);
begin
try
pApplySysData ;
DMSystem.scSystem.AppServer.ControlInterface(Date,44,Userinfo.sName) ;
with DMSystemdo
begin
scSystem.Close ;
scBasic.Close ;
scPerson.Close ;
scLogistics.Close ;
scCheck.Close ;
scPay.Close ;
scSystem.Open ;
scBasic.Open ;
scPerson.Open ;
scLogistics.Open ;
scCheck.Open ;
scPay.Open ;
end ;
pOpenSysData ;
if DMSystem.cdsUser.Locate('Name',Userinfo.sName,[loCaseInsensitive]) then
begin
pSetPromptLanguage ;
pSetAllCaption ;
pGetUserinfo(DMSystem.cdsUser,True) ;
pgSNavigation ;
pSetMenuItems ;
spMain.Visible:=Userinfo.isUNavig ;
XPStyle.Active:=Userinfo.isXPStyle ;
cbTools.Visible:=Locationinfo.bShowTools ;
spServer.Caption:=ifthen
(DMSystem.scSystem.Host<>'',DMSystem.scSystem.Host,DMSystem.scSystem.Address) ;
aSNavigation.Caption:=ifthen
(spMain.Visible,fGBvBig5('隐藏导航','Hide Navigation',1),fGBvBig5('显示导航','Show Navigation',1)) ;
aSTools.Caption:=ifthen
(cbTools.Visible,fGBvBig5('隐藏工具栏','Hide Tools',1),fGBvBig5('显示工具栏','Show Tools',1)) ;
pCreateInterface ;
end else
pLogin ;
except
end;
end;
过程二
procedure TMainForm.Button1Click(Sender: TObject);
begin
pApplySysData ;
DMSystem.scSystem.AppServer.ControlInterface(Date,44,Userinfo.sName) ;
with DMSystemdo
begin
scSystem.Close ;
scBasic.Close ;
scPerson.Close ;
scLogistics.Close ;
scCheck.Close ;
scPay.Close ;
end ;
end;
过程三
procedure TMainForm.Button2Click(Sender: TObject);
begin
with DMSystemdo
begin
scSystem.Open ;
scBasic.Open ;
scPerson.Open ;
scLogistics.Open ;
scCheck.Open ;
scPay.Open ;
end ;
pOpenSysData ;
if DMSystem.cdsUser.Locate('Name',Userinfo.sName,[loCaseInsensitive]) then
begin
pSetPromptLanguage ;
pSetAllCaption ;
pGetUserinfo(DMSystem.cdsUser,True) ;
pgSNavigation ;
pSetMenuItems ;
spMain.Visible:=Userinfo.isUNavig ;
XPStyle.Active:=Userinfo.isXPStyle ;
cbTools.Visible:=Locationinfo.bShowTools ;
spServer.Caption:=ifthen
(DMSystem.scSystem.Host<>'',DMSystem.scSystem.Host,DMSystem.scSystem.Address) ;
aSNavigation.Caption:=ifthen
(spMain.Visible,fGBvBig5('隐藏导航','Hide Navigation',1),fGBvBig5('显示导航','Show Navigation',1)) ;
aSTools.Caption:=ifthen
(cbTools.Visible,fGBvBig5('隐藏工具栏','Hide Tools',1),fGBvBig5('显示工具栏','Show Tools',1)) ;
pCreateInterface ;
end else
pLogin ;
end;
如果将过程一分解成过程二和三分开执行,先执行过程二再执行过程三,无论执行多少次都不报错,如果多次执行过程一则不行,为什么?是不是一断开就连那里有问题?