[fpc-pascal] Can not set voice property of SpVoice
Michael Van Canneyt
michael at freepascal.org
Tue Aug 23 09:22:24 CEST 2016
On Tue, 23 Aug 2016, Toru Takubo wrote:
> Hello,
>
> I am testing a text to speech program working on Windows SAPI, and I
> encountered a problem that I can not set the Voice property because
> "member not found".
>
> Below is the code which describe the problem. It is originally from
> the freepascal wiki (http://wiki.freepascal.org/SAPI) and slightly
> modified. Setting the voice property in this code is meaningless,
> I know. It is just to reproduce the problem.
>
> The SpVoice.Speak method itself works fine. I am working with fpc
> 3.0.0 on Windows 7 64bit. Any advice would be appreciated.
>
> Regards,
>
> Toru
>
> _______________________________________________
> program TestSAPI;
>
> uses
> SysUtils, comobj;
> var
> SavedCW: Word;
> SpVoice: Variant;
> Token: Variant;
> begin
> SpVoice := CreateOleObject('SAPI.SpVoice');
> // Change FPU interrupt mask to avoid SIGFPE exceptions
> SavedCW := Get8087CW;
> try
> Set8087CW(SavedCW or $4);
>
> Token := SpVoice.Voice; //I can get a voice token.
> Writeln(Token.GetDescription); //The token actually works.
>
> try
> SpVoice.Voice := Token; //"member not found" exception here. I can't set it.
Did you try
spVoice.SetVoice(Token);
?
Michael.
More information about the fpc-pascal
mailing list