doch "CoInitialize(nil);" ist drin
hier der Abschnitt
Delphi-Quellcode:
procedure TMSpeech.Init;
var ModeInfo: TTSModeInfo;
EngineCount: Integer;
p: Pointer;
begin
FInit := True;
FEngineStarted := False;
try
{ Enumerate engines }
p:=nil;
CoInitialize(p);
OleCheck(CoCreateInstance(CLSID_TTSEnumerator, Nil, CLSCTX_ALL, IID_ITTSEnum, FITTSEnum));
OleCheck(FITTSEnum.Reset);
OleCheck(FITTSEnum.Next(1, ModeInfo, @EngineCount));
while EngineCount > 0 do
begin
FEngines.Add(String(ModeInfo.szModeName));
OleCheck(FITTSEnum.Next(1, ModeInfo, @EngineCount));
end;
except
FInit := False;
end;
end;
Ich poste hier mal die ganze Componente zur Sprachausgabe die ich nutze