I am trying to get Microsoft speech synthesis to work with Freepascal. I am trying to follow the guide here: I don't know what I am doing wrong. SAPI is working on my system, because the TTSApp Demo that comes with the Microsoft Speech SDK works fine. Here is my test program: {$mode objfpc} uses CRT, Windows, SysUtils, ComObj, Variants, OLEServer, Classes, ActiveX, ShellApi; var SavedCW: Word; SpVoice: Variant; MyWideString: WideString; begin CoInitialize(nil); SpVoice := CreateOleObject('SAPI.SpVoice'); // Change FPU interrupt mask to avoid SIGFPE exceptions MyWideString := WideString('Hello, the time is ' + TimeToStr(Now)); Writeln(MyWideString); SavedCW := Get8087CW; try Set8087CW(SavedCW or $4); SpVoice.Speak(MyWideString, 0); finally // Restore FPU mask Set8087CW(SavedCW); end; Writeln('Press Any Key'); ReadKey; CoUninitialize; end. Whenever my program gets to: SpVoice.Speak(MyWideString, 0); Even if I hardcode something like: SpVoice.Speak('Hello', 0); I always get: Running "i:\programming\TTS.exe " Hello, the time is 8:41:27 An unhandled exception occurred at $0041FC90: EOleError: Variant does not reference an automation object $0041FC90 $00424DAD $0040BB31 $00401A8A main, line 21 of i:\programming\TTS.pas I don't really understand what this means, and I can't find a complete sample program that I can just compile and run. I feel I must be missing something but I don't know what it is. Any help is greatly appreciated! James
_______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal