这是DELPHI的官方例子:unit Unit1;interfaceuses
ActiveX,
{$ifdef CONDITIONALEXPRESSIONS}
Variants,
{$endif}
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, OleServer, SpeechLib_TLB;type
TfrmContinuousDictation = class(TForm)
memText: TMemo;
SpSharedRecoContext: TSpSharedRecoContext;
procedure FormCreate(Sender: TObject);
procedure SpSharedRecoContextRecognition(Sender: TObject;
StreamNumber: Integer; StreamPosition: OleVariant;
RecognitionType: TOleEnum; var Result: OleVariant);
private
SRGrammar: ISpeechRecoGrammar;
{ Private declarations }
public
{ Public declarations }
end;var
frmContinuousDictation: TfrmContinuousDictation;implementation{$R *.dfm}procedure TfrmContinuousDictation.FormCreate(Sender: TObject);
begin
SpSharedRecoContext.EventInterests := SREAllEvents;
SRGrammar := SpSharedRecoContext.CreateGrammar(1);
SRGrammar.DictationSetState(SGDSActive);
end;procedure TfrmContinuousDictation.SpSharedRecoContextRecognition(
Sender: TObject; StreamNumber: Integer; StreamPosition: OleVariant;
RecognitionType: TOleEnum; var Result: OleVariant);
var
SRResult: ISpeechRecoResult;
begin
SRResult := IDispatch(Result) as ISpeechRecoResult;
memText.Text := SRResult.PhraseInfo.GetText(0, -1, True) + #32
end;
end.
为何编译后出现:变量转换错误类型!
而我把该例子翻成VB,却正常。
急!!!!!!!!
ActiveX,
{$ifdef CONDITIONALEXPRESSIONS}
Variants,
{$endif}
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, OleServer, SpeechLib_TLB;type
TfrmContinuousDictation = class(TForm)
memText: TMemo;
SpSharedRecoContext: TSpSharedRecoContext;
procedure FormCreate(Sender: TObject);
procedure SpSharedRecoContextRecognition(Sender: TObject;
StreamNumber: Integer; StreamPosition: OleVariant;
RecognitionType: TOleEnum; var Result: OleVariant);
private
SRGrammar: ISpeechRecoGrammar;
{ Private declarations }
public
{ Public declarations }
end;var
frmContinuousDictation: TfrmContinuousDictation;implementation{$R *.dfm}procedure TfrmContinuousDictation.FormCreate(Sender: TObject);
begin
SpSharedRecoContext.EventInterests := SREAllEvents;
SRGrammar := SpSharedRecoContext.CreateGrammar(1);
SRGrammar.DictationSetState(SGDSActive);
end;procedure TfrmContinuousDictation.SpSharedRecoContextRecognition(
Sender: TObject; StreamNumber: Integer; StreamPosition: OleVariant;
RecognitionType: TOleEnum; var Result: OleVariant);
var
SRResult: ISpeechRecoResult;
begin
SRResult := IDispatch(Result) as ISpeechRecoResult;
memText.Text := SRResult.PhraseInfo.GetText(0, -1, True) + #32
end;
end.
为何编译后出现:变量转换错误类型!
而我把该例子翻成VB,却正常。
急!!!!!!!!
解决方案 »
- 关于继承控件,在线程中调用,如何写法
- 上网认证
- 开发的软件使用SQLServer2000数据库,打包时能让数据库、数据文件自动安装么?(全自动安装)
- 感叹祸不单行啊。
- 怎么利用dbExpress控件插入或更新数据?谢谢.
- 数据库查询问题!在线等待!
- TShape控件能只让其提供几种选定色的显示吗?我需要一个提供COLOR选择的控件,但只给特定的几种COLOR选择,怎么能做到?
- 为什么调用EDIT方法会报错???
- 救救小弟!delphi 下的clint/sever和多线程、对硬件的控制应该怎么弄啊!多谢各位大虾!
- 关于DELPHI程序经常死机的问题!!
- 当使用ADOQUERY的OPEN方法对数据表进行查询之后,在使用新的SQL语句执行前,如何将OPEN方法关闭?
- 怎样在状态栏显示登录用户呀?
这是调用低层音频函数的例子