起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: Coordinator

在ShowModal的窗体里如何走流程**

[复制链接]
 楼主| 发表于 2007-6-19 16:06:11 | 显示全部楼层
在跳出的窗体上有下面的过程
procedure TJSGL_FORM.SetParamValue(SValue: String; MValue:string);
var
  XMBH, XMMC: TBizParam;
  lBizURL,mBizURL: TBizURL;
  lContextCurrent: TContextCurrent;
begin
  lBizURL := TBizURL.Create;
  mBizURL := TBizURL.Create;
  lContextCurrent := TContextCurrent.Create(Context);
  try
    lBizURL.URL := 'Biz:\SJZPXZXXTGLXXXT\YWCSZ.ParamGroup\XMBH.Param';
    mBizURL.URL := 'Biz:\SJZPXZXXTGLXXXT\YWCSZ.ParamGroup\XMMC.Param';
    XMBH := lContextCurrent.GetParam(lBizURL);
    XMMC := lContextCurrent.GetParam(mBizURL);
    XMBH.Value := SValue;
    XMMC.Value := MValue;
  finally
    lBizURL.Free;
    mBizURL.Free;
  end;
end;

在流程的那个窗体上有下面的函数
function TMAINFORM.GetXMBHvalue: String;
var
  XMBH: TBizParam;
  lBizURL: TBizURL;
  lContextCurrent: TContextCurrent;
begin
  lBizURL := TBizURL.Create;
  lContextCurrent := TContextCurrent.Create(self.Context);
  try
    lBizURL.URL := 'Biz:\SJZPXZXXTGLXXXT\YWCSZ.ParamGroup\XMBH.Param';
    XMBH := lContextCurrent.GetParam(lBizURL);
    Result := Variants.vartostr(XMBH.Value);
  finally
    lBizURL.Free;
  end;
end;

function TMAINFORM.GetXMMCvalue: String;
var
  xmmc: TBizParam;
  lBizURL: TBizURL;
  lContextCurrent: TContextCurrent;
begin
  lBizURL := TBizURL.Create;
  lContextCurrent := TContextCurrent.Create(self.Context);
  try
    lBizURL.URL := 'Biz:\SJZPXZXXTGLXXXT\YWCSZ.ParamGroup\XMMC.Param';
    xmmc := lContextCurrent.GetParam(lBizURL);
    Result := Variants.vartostr(xmmc.Value);
  finally
    lBizURL.Free;
  end;
end;

但是却获取不了值。。。  跟现在这种作法或重载有关系吗?
回复 支持 反对

使用道具 举报

发表于 2007-6-20 09:15:08 | 显示全部楼层
参数的隔离级怎么定义的,一般来说你这样的用法要定义隔离级为全局或者人员了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-20 18:07:47 | 显示全部楼层
隔离级一直是默认的 没改过
回复 支持 反对

使用道具 举报

发表于 2007-6-21 08:41:55 | 显示全部楼层
你改成 全局或者人员 试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-21 16:20:05 | 显示全部楼层
恩 这个问题解决了

还是49楼和50楼的问题
MainForm 可以打开ShowForm, 让ShowForm的parent为一个Tab页
现在问题是打开showForm的方法是
  SUrl := 'Biz:\SJZPXZXXTGLXXXT\JSFASHGL_FUNC.FUNC';
    lFunc := SystemCore.TSYSTEMCORE.FuncManager.RunFunc(Context, '', SUrl, '', nil, False);
如何指定ShowForm的Panrent阿?
lFunc.MainForm.Parent := TabSheet;   会出错
如果在ShowForm上接收MainForm上的值 一定要引用MainForm,可是MainForm已经引用了ShowForm  就循环引用了
请帮帮忙吧。。。
回复 支持 反对

使用道具 举报

发表于 2007-6-21 17:51:00 | 显示全部楼层
你看看50楼
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-22 09:03:49 | 显示全部楼层
看过了 好像不太管用 会报错
SUrl := 'Biz:\SJZPXZXXTGLXXXT\JSFASHGL_FUNC.FUNC';
lFunc := SystemCore.TSYSTEMCORE.FuncManager.RunFunc(Context, '', SUrl, '', nil, False);
lFunc.MainForm.Parent := TitlePanel;  这个报错
回复 支持 反对

使用道具 举报

发表于 2007-6-22 09:49:20 | 显示全部楼层
楼主报什么错误,我这里同样的代码测试没有报错
只是在工作台上多显示了一页,但是不影响程序的运行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-22 11:42:30 | 显示全部楼层
在跳出的功能上有下面的代码
unit JSFASHGL_FUNC;

interface

uses
  Business.System, Business.Model, Business.Forms, SystemCore;

type
  TJSFASHGL_FUNC = class(TFunc)
  private
    {private declarations}
  public
    {public declarations}
    procedure DoRun; override;
  end;

implementation


procedure TJSFASHGL_FUNC.DoRun;
var
  lMAINFORM: TMAINFORM;
begin
  lMAINFORM := TMAINFORM.Create(context);
  //try
    lMAINFORM.Show;
  //finally
  //  lMAINFORM.Free;
  //end;
end;

end.

错误是下图

666.jpg

14.52 KB, 下载次数: 122

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-22 11:45:07 | 显示全部楼层
如果去那些代码
流程上又出错。。。

777.jpg

8.02 KB, 下载次数: 121

回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-13 15:42 , Processed in 0.044720 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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