delphi 7.0生成的AgentObjects_TLB.pas出错导至Ms Agent不能发声

原创 2004年02月15日 23:45:00

delphi 7.0生成的AgentObjects_TLB.pas出错导至Ms Agent不能发声

    笔者是一位delphi初学者,操作系统为winxp,安装开发软件为delphi 7.0企业版。看了在<<开发高手

>>第2004年第01期41页的<<汪谈VB在编程中如何实现添加动画小精灵角色>>后,想在delphi上实现上面所

讲到的功能。但是遇到了不少问题:

1、 在Delphi中添加Agent控件

在Delphi IDE中选择菜单Component,Import ActiveX Control——在Import ActiveX下的列表框中选择

Microsoft Agent Control 2.0(Version 2.0),点击按钮Install——在Install对话框中点击按钮OK—

—在Confirm对话框中点击按钮Yes——在对话框中点击按钮OK。至此,Agent控件被添加到Delphi组件板

ActiveX页上。

2、 在Delphi中调用Agent控件

在Delphi IDE 中新建Project1(包含Form1),在Form1上放置Agent1(Name属性为Agent1)、Button1。

private
    { Private declarations }
    Peedy: IagentCtlCharacterEx;
    Request1: IagentCtlRequest;

procedure TForm1.FormShow(Sender: TObject);
begin
Request1:=Agent1.Characters.Load('Peedy',CurDir+'/Benoit.acs');
Peedy:=Agent1.Characters.Character('Peedy');
Agent1.Connected:=True;
Peedy.MoveTo(300,400,12);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Peedy.LanguageID:=$409; //<----出错的就是这一句!!!
Peedy.Show(0);
Peedy.Play('LookRight');
Peedy.Speak('Hello,wellcome to MS Agent Character world','')
end;


无论你把Peedy.LanguageID设置成任何值,运行时都会报错!!!
后来在CSDN论谈中查找这个问题的解决方案,但是所有的解决方案都没有成功。
有人说是把Peedy.LanguageID设置成1033(是$409(十六进制)的十进制表示)
有人说试过了还是不行。
我试了也不行。
直到有一个叫MIKY的谈到读取Character动作列表时修改AgentObjects_TLB.pas后成功。
从而受到了启发在google中搜索AgentObjects_TLB.pas结果在cvs.sourceforge.net
中下载了一个AgentObjects_TLB.pas。覆盖到X:/Program Files/Borland/Delphi7/
Imports/AgentObjects_TLB.pas.
然后再运行上面的代码。
成功了!!
我的Agent终于可以说话了。
哈哈!!!!
有人需要我可以把AgentObjects_TLB.pas发给他。

Microsoft Agent 应用心得

最近项目中想实现一个能够实时提示用户、引导用户操作,并进行操作说明的帮助系统,当然通过winform中的help体制是可以实现的,但是不够友好,响应也不够及时。于是考虑使用msagent来实现。msa...
  • luyifeiniu
  • luyifeiniu
  • 2010年06月04日 10:19
  • 5295

开发兼容Win7的Ms Agent程序

有时为了提高客户体验,往往会在程序中增加帮助系统,当年OfficeXP提供了一种叫助手精灵的帮助插件,一个小老头来帮助用户使用Office。现在Win7了,直接使用以往的Ms Agent来开发老头做使...
  • jacksonfan
  • jacksonfan
  • 2015年07月11日 20:51
  • 714

在Delphi中很精确地控制生成的WORD文档的格式

var    WordApplication1: TWordApplication; 通过以下的方式就可以在DELPHI中很精确地控制生成的WORD文档的格式。     //-----------...
  • han99yi
  • han99yi
  • 2014年08月05日 09:30
  • 1605

Microsoft Agent技术简介

话题686854的标题是: 谁知道如何创建类似office2000助手模样的窗体? (100分)分类:图形图象 Blackdell (2001-10-23 10:26:00)  就是只显示一幅透明的图...
  • flyloafer
  • flyloafer
  • 2006年04月23日 15:13
  • 3122

ms agent

Microsoft Agent是微软公司于1997年9月发布的一项代理软件开发技术,而后被集成到Internet Explorer 4.0 Plus及更高版本中,目前版本为2.0,支持简体中文。作为一...
  • qianjin_w
  • qianjin_w
  • 2010年01月18日 17:43
  • 215

汇编发声程序示例

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 一 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...
  • yedeqixian
  • yedeqixian
  • 2012年05月23日 00:44
  • 965

BSTR、char* 和 CString 之间的转换

  (1) char*转换成CString  若将char*转换成CString,除了直接赋值外,还可使用CString::Format进行。例如:char chArray[] = "This is ...
  • DavidHsing
  • DavidHsing
  • 2008年04月04日 12:54
  • 797

Delphi-获取系统异常错误的重要性

给朋友软件发过去以后,反映程序启动总是打不开窗口.后来查看错误日志,看到是创建类时的错误,可是怎么看也不会是类的问题,后来经Delphi同事的方法,把系统错误异常捕获到日志里面,才发现捕获系统的异常消...
  • QDseashore
  • QDseashore
  • 2012年07月24日 21:51
  • 577

delphi 使用把数据集导出为excel文件 (适合安装Excel的机器)

use ComObj ; //==================================== //delphi导出Excel表 procedure saveToExcel(a...
  • ijong
  • ijong
  • 2011年05月16日 19:00
  • 2018

InstallShield Express for delphi制作安装程序定制BDE引擎

使用Delphi编写数据库程序,在发布程序的同时还需要发布BDE(Borland Database Engine),但BDE占用空间较大,如Delphi5就有17.4M之多,远比一般的程序本身要大。实...
  • moonet
  • moonet
  • 2002年12月16日 09:36
  • 2191
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:delphi 7.0生成的AgentObjects_TLB.pas出错导至Ms Agent不能发声
举报原因:
原因补充:

(最多只允许输入30个字)