起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 463|回复: 18

【结帖】功能调用问题

[复制链接]
发表于 2007-9-3 16:25:20 | 显示全部楼层 |阅读模式
我在系统的 “系统主界面资源集”的“专业”窗体中加了如下代码
if lQuery.RecordCount > 1 then
  begin
     lQuery.Free;
     jsDialogs.ShowMsg('有记录','重要提示');
     SystemCore.TSystemCore.FuncManager.RunFunc('Biz:\NDGL\CBLCTXGN.Func', '');
进入运行平台后发现右键关闭该功能时,整个运行平台都退出了,我现在想要的方法是,在关闭该功能时,系统不退出,可以继续运行下去,请问如何设置?
回复

使用道具 举报

发表于 2007-9-3 17:01:26 | 显示全部楼层
楼主,看不懂啊!

关闭一个功能怎么回把business也一起关闭呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-3 17:39:22 | 显示全部楼层
是啊,我也觉得奇怪啊!是不是SystemCore.TSystemCore.FuncManager.RunFunc('Biz:\NDGL\CBLCTXGN.Func', '');
参数设置的有问题啊?
就加了这一段代码就不行了!
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
lQuery := TQuery.Create(nil);
  cGetSQL := 'select CHK_ID from DF_FLAG_REMIND where Owner_Bureau=:C ';
  lQuery.ConnectionString := 'DATABASEURL=Biz:\NDGL\NDGLXT.Database';
  lQuery.CommandText := cGetSQL;

  lQuery.Params.ParamByName('C').AsString := TCommonComponentLibrary.UserSystem.CurrentOrgan.ID;
  lQuery.Open;

  if lQuery.RecordCount > 1 then
  begin
     lQuery.Free;
          SystemCore.TSystemCore.FuncManager.RunFunc('Biz:\NDGL\CBLCTXGN.Func', '');
     //lContextCurrent.Free;
  end;
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
回复 支持 反对

使用道具 举报

发表于 2007-9-3 17:42:45 | 显示全部楼层
和runfunc没有关系。

你这段代码是写在哪里的?
或者你可以调试运行一下,看都执行了什么代码
回复 支持 反对

使用道具 举报

发表于 2007-9-3 17:43:03 | 显示全部楼层
你是不是在f9运行状态下?  应该ALT+F9初始化运行,然后调试下,看有什么错误报出来。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-4 10:10:33 | 显示全部楼层
事件 procedure TZJM.SetupGlobeParm;
我跟踪时没有报什么错报出来啊。而且代码太多了,我看得有点晕!
回复 支持 反对

使用道具 举报

发表于 2007-9-4 10:24:20 | 显示全部楼层
如果初始化运行不报错,你刷新缓存,刷新组织结构,客户端就应该不报错了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-4 11:32:15 | 显示全部楼层
谢谢以上回复!
还请仔细看看我1楼的问题啊!
刚刚重新又试了下,启动平台直接调用两个功能,关闭第一个的时候,没有问题,当关闭第二个功能时系统就自动关闭了!
是不是有什么环境因素啊!
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
lQuery := TQuery.Create(nil);
  cGetSQL := 'select CHK_ID from DF_FLAG_REMIND where Owner_Bureau=:C ';
  lQuery.ConnectionString := 'DATABASEURL=Biz:\NDGL\NDGLXT.Database';
  lQuery.CommandText := cGetSQL;

  lQuery.Params.ParamByName('C').AsString := TCommonComponentLibrary.UserSystem.CurrentOrgan.ID;
  lQuery.Open;

  if lQuery.RecordCount > 1 then
  begin
     lQuery.Free;
      FindAndRunFunc('Biz:\NDGL\YHQF_SFXXCX.Func');
     FindAndRunFunc('Biz:\NDGL\YHDA_CM_DLDFGN.Func');     //lContextCurrent.Free;
  end;
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-4 11:32:54 | 显示全部楼层
谢谢以上回复!
还请仔细看看我1楼的问题啊!
刚刚重新又试了下,启动平台直接调用两个功能,关闭第一个的时候,没有问题,当关闭第二个功能时系统就自动关闭了!
是不是有什么环境因素啊!
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
lQuery := TQuery.Create(nil);
  cGetSQL := 'select CHK_ID from DF_FLAG_REMIND where Owner_Bureau=:C ';
  lQuery.ConnectionString := 'DATABASEURL=Biz:\NDGL\NDGLXT.Database';
  lQuery.CommandText := cGetSQL;

  lQuery.Params.ParamByName('C').AsString := TCommonComponentLibrary.UserSystem.CurrentOrgan.ID;
  lQuery.Open;

  if lQuery.RecordCount > 1 then
  begin
     lQuery.Free;
      FindAndRunFunc('Biz:\NDGL\YHQF_SFXXCX.Func');
     FindAndRunFunc('Biz:\NDGL\YHDA_CM_DLDFGN.Func');     //lContextCurrent.Free;
  end;
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
procedure TZJM.actFileCloseExecute(Sender: TObject);
var
  lFunc: TFunc;
begin
  lFunc := CurrentFunc;
  if lFunc <> nil then
    TSystemCore.FuncManager.TerminateFunc(lFunc, False);
end;
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-4 11:33:51 | 显示全部楼层
谢谢以上回复!
还请仔细看看我1楼的问题啊!
刚刚重新又试了下,启动平台直接调用两个功能,关闭第一个的时候,没有问题,当关闭第二个功能时系统就自动关闭了!
是不是有什么环境因素啊!
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
lQuery := TQuery.Create(nil);
  cGetSQL := 'select CHK_ID from DF_FLAG_REMIND where Owner_Bureau=:C ';
  lQuery.ConnectionString := 'DATABASEURL=Biz:\NDGL\NDGLXT.Database';
  lQuery.CommandText := cGetSQL;

  lQuery.Params.ParamByName('C').AsString := TCommonComponentLibrary.UserSystem.CurrentOrgan.ID;
  lQuery.Open;

  if lQuery.RecordCount > 1 then
  begin
     lQuery.Free;
      FindAndRunFunc('Biz:\NDGL\YHQF_SFXXCX.Func');
     FindAndRunFunc('Biz:\NDGL\YHDA_CM_DLDFGN.Func');     //lContextCurrent.Free;
  end;
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
procedure TZJM.actFileCloseExecute(Sender: TObject); 这个是关闭的代码,有什么有注意的没有啊?
var
  lFunc: TFunc;
begin
  lFunc := CurrentFunc;
  if lFunc <> nil then
    TSystemCore.FuncManager.TerminateFunc(lFunc, False);
end;
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-28 10:59 , Processed in 0.042980 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表