起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 290|回复: 11

【搞定】回复不了“ 调用同一数据集中不同表单所定义的函数出错的问题[请求] ”主题

[复制链接]
发表于 2007-4-18 14:54:01 | 显示全部楼层 |阅读模式
我回复不了“ 调用同一数据集中不同表单所定义的函数出错的问题[请求] ”主题,不知道是为什么,回复提示:本主题已经关闭
回复

使用道具 举报

 楼主| 发表于 2007-4-18 15:04:14 | 显示全部楼层

我的文档1的代码

unit KBBD1;

interface

uses
  Business.System, Business.Model;

type
  TKBBD1 = class(TFormDoc)
    InfoBroker: TInfoBroker;
  private
  function APeriodTime(AParm:String):String;
    {private declarations}
  public
    {public declarations}
  end;

implementation
function TKBBD1.APeriodTime(AParm:String):String;
var
  lParm : String;
begin
  lParm := AParm;
  Result := lParm;
end;

end.

我在文档2种要调用function APeriodTime(AParm:String):String;   这个函数。
请别再把这个帖子删了,否则每次回复我都得开新帖子,谢谢!
回复 支持 反对

使用道具 举报

发表于 2007-4-18 15:12:53 | 显示全部楼层
怪了, http://bbs.justep.com/forum.php?mod=viewthread&tid=14526  那这个结贴了,就在这里跟吧

哦,我原来理解错了,以为要调用文档1上的控件呢,不过,原来也笔误,应该是 业务信息的ID.文档1类名(DocView1.Doc)...

那应该 业务信息的ID.文档1类名...就能调用到吧,我没有环境测试,不过我印象应该放到public中,
不是在  private 中吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-18 18:05:56 | 显示全部楼层
就是真的很奇怪!那个帖子,我没有权限结帖呀!关于您说的方法我会去试一试,非常感谢您的帮助!请不要结帖,我会尽快上报测试结果的。
回复 支持 反对

使用道具 举报

发表于 2007-4-18 18:18:25 | 显示全部楼层
好,无论结果怎样,都请跟贴反馈
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-18 19:06:45 | 显示全部楼层

还是出错呀

编译时报错:没有定义“文档1的类名”。我做了两个文档,代码分别如下:
文档1的代码:
unit KBBD1;

interface

uses
  Business.System, Business.Model;

type
  TKBBD1 = class(TFormDoc)
    InfoBroker: TInfoBroker;
  private
    {private declarations}
  public
    function APeriodTime(AParm:String):String;
    {public declarations}
  end;

implementation
function TKBBD1.APeriodTime(AParm:String):String;
var
  lParm : String;
begin
  lParm := AParm;
  Result := lParm;
end;

end.


文档2的代码:
unit test2;

interface

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

type
  Ttest2 = class(TFormDoc)
    InfoBroker: TInfoBroker;
    ComboBox1: TComboBox;
    Button1: TButton;
    DocView1: TDocView;
    procedure Button1Click(Sender: TObject);
  private
    {private declarations}
  public
    {public declarations}
  end;

implementation


procedure Ttest2.Button1Click(Sender: TObject);
var
  lParam : String;
begin
  lParam := '10';
//  ComboBox1.Text := (DocView1.Doc as TKBBD1).APeriodTime(lParam).ToString;
  ComboBox1.Text := DECISIONSUBSYSINFO.TKBBD1.APeriodTime(lParam);
end;

end.

我在文档1种定义了一个函数function APeriodTime,在文档2种调用function APeriodTime这个函数。编译报错:Undeclared identifier"TKBBD1". TKBBD1就是文档1的类名。我在文档2中写入DECISIONSUBSYSINFO业务信息ID之后,“.”不出TKBBD1,只能“.”出两个函数一个是Equals函数,另一个是ReferenceEquals函数。不知道为什么?应该如何解决?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-19 08:57:25 | 显示全部楼层
atiger,我已经在楼上反馈了出错的详细信息!请查验!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-19 09:13:33 | 显示全部楼层

怎么没人回复我的反馈呀

我顶
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-19 09:46:25 | 显示全部楼层
我尝试将业务信息的ID写到uses模块里面,但是效果是一样的,还是报与6楼相同的错误。这不会是一个bug吧?我的版本:2611
回复 支持 反对

使用道具 举报

发表于 2007-4-19 10:38:15 | 显示全部楼层
procedure Ttest2.Button1Click(Sender: TObject);
var
  lBGWD := DECISIONSUBSYSINFO.TKBBD1;
  lParam : String;
begin
  lParam := '10';
  ComboBox1.Text := lBGWD.APeriodTime(lParam);
end;
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-4 18:20 , Processed in 0.037249 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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