熟悉语音输入的大侠请进!(带例子)
这是DELPHI的官方例子:
unit Unit1;
interface
uses
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,却正常。
急!!!!!!!!