起步软件技术论坛-X3

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

【搞定】TIB3.0关于WEbBrower控件问题,急,在线等待**

[复制链接]
 楼主| 发表于 2007-2-9 16:19:14 | 显示全部楼层

能不能提供一个关于接口的函数

能不能提供一个关于我提出问题接口的函数,在TIB下如何调用, 希望你们能提供给达因一个例子和文档,我们的确很急用,谢谢你们,新年快乐,谢谢合作
回复 支持 反对

使用道具 举报

发表于 2007-2-9 16:40:49 | 显示全部楼层
你在Delphi中写一个类似:
function getInputStr(WB: TWebBrowser; FieldName: String): String;
Var
  Doc : IHTMLDocument2;
  inputText : IHTMLInputTextElement;
begin
  Doc := IHTMLDocument2(WB.Document);
  if nil <> Doc then
  begin
  //如果T1不是IHTMLInputTextElement类型将出错
    inputText := Doc.all.item(FieldName, 0) as IHTMLInputTextElement;
    Result := inputText.value;
  end;
end;

然后把这个函数导入到平台上使用就可以了,这样调用接口是在这个函数中作的,而平台只是调用这个函数,获取结果而已
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-12 09:14:01 | 显示全部楼层

不好意思

由于我刚接触TIB,公司现在没有TIB人员,能否大致说一下,我delphi需要生成什么格式的文件,是.dll,还是bpl文件,还是其它格式的文件,在TIB3.0中如何导入,不好意思,谢谢了
回复 支持 反对

使用道具 举报

发表于 2007-2-12 10:20:32 | 显示全部楼层
按照12楼在delphi中写一个函数,放在.pas文件中,然后按照导入第三方控件的文档,把这个.pas文件导入到平台上使用,然后就可以在平台上按照
空间名.pas文件名.函数名(参数)
的方式来调用这个函数了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-12 14:35:49 | 显示全部楼层

向TIB3.0导入第三方控件文档能提供吗?我这里没有

向TIB3.0导入第三方控件文档能提供吗?我这里没有
我已经把.pas文件写好,但不知道如何导入到TIB3.0系统中,谢谢
回复 支持 反对

使用道具 举报

发表于 2007-2-12 14:39:44 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-12 17:08:51 | 显示全部楼层

我在帮第四步‘生成'接口包文件’.bpl 报错

我在帮第四步‘生成'接口包文件’.bpl 报错
我添加完我在delphi下生成的.pas文件,和第三步生成的注册文件-res.pas文件,并添加了
X3 developer\bin\CLRun.dcp文件 compile 后提示以下错误

[Error]   $DENYPACKAGEUNIT   'ComServ'   cannot   be   put   into   a   package   

我没有找到解决错误的办法,请提示,谢谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-13 09:27:18 | 显示全部楼层

怎么没有回贴呢?

怎么没有回贴呢?你们放假了吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-14 09:31:09 | 显示全部楼层

为何看不到函数

1:我的.pas文件内容
unit pki;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, SHDocVw,MSHTML;

type
  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
  private
    { Private declarations }
  public
    function getInputStr(WB: TWebBrowser; FieldName: String): String;
    { Public declarations }
  end;                                         
var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

function TForm1.getInputStr(WB: TWebBrowser; FieldName: String): String;
Var
  Doc : IHTMLDocument2;
  inputText : IHTMLInputTextElement;
begin
  Doc := IHTMLDocument2(WB.Document);
  if nil <> Doc then
  begin
  //如果T1不是IHTMLInputTextElement类型将出错
    inputText := Doc.all.item(FieldName, 0) as IHTMLInputTextElement;
    Result := inputText.value;
  end;

end;

end.

2:编译后dll,pbl文件,并导入到tib3.0系统中,名空间为dyneinfo
在TIb系统中调用的代码是

unit MainForm;

interface

uses
  Business.System,Business.Forms.Dialogs,Business.Forms, Business.Forms,dyneinfo;

type
  TMainForm = class(TForm)
    Button1: TButton;
    WebBrowser1: TWebBrowser;
    Button2: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: object);
  private
    {private declarations}
  public
    {public declarations}
  end;

implementation


procedure TMainForm.Button1Click(Sender: TObject);
begin
  WebBrowser1.Navigate('D:\pki\IEpki\addCheckIdea.htm')
end;

procedure TMainForm.Button2Click(Sender: TObject);
Var
  Doc : IHTMLDocument2;
  inputText : IHTMLInputTextElement;
begin
  Edit2.Text := dyneinfo.pki.getInputStr(WebBrowser1,'afds') ;
//此名话编译不通过
  
end;
end.

  Edit2.Text := dyneinfo.pki.getInputStr(WebBrowser1,'afds') ;
//此名话编译不通过
提示错误为

[错误]Biz:\YWKJ1\CSPKI\YWGN1.FUNC.DIR\MainForm.Form.pas(37, 30): Undeclared identifier "getInputStr"

谢谢
回复 支持 反对

使用道具 举报

发表于 2007-2-14 09:38:30 | 显示全部楼层
当然编译不过了,你的getInputStr是作为TForm1 的函数,所以必须创建一个TForm1 的对象才可以调用
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-25 22:32 , Processed in 0.041382 second(s), 12 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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