Listar engines de vós no MSAgent
Olá amigos do forum, gostaria de pedir a ajuda, para que se alguém já conseguiu listar as vozes, porque já fiz de tudo mas não gonsigo, o sistema me retorna um erro disendo que o Microsoft Agent não pode ser iniciado. Como faço para contornar esse problema. Eu estou usando a função abaixo:
function TForm1.GetAgentAnimationNames(Agent : IAgentCtlCharacterEx; SL: TStrings) : Boolean;
const
IID_IEnumVariant: TGUID = (D1:$00020404;D2:$0000;D3:$0000;D4:($C0,$00,$00,$00,$00,$00,$00,$46));
var
IEnumVar : IEnumVariant;
BufferAnimationName : OLEVariant;
Retrieved : Cardinal;
hRes : HResult;
begin
Result := False;
if not Assigned(Agent) then Exit;
if Agent.AnimationNames.Enum.QueryInterface(IID_IEnumVariant, IEnumVar) = S_OK then
begin
Result:=True;
repeat
hRes:=IEnumVar.Next(1, BufferAnimationName, Retrieved);
if Retrieved = 1 then SL.Add(BufferAnimationName);
until hRes <> S_OK;//}
end;//}
end;
Por favor se alguém puder me ajudar ficarei grato.
Ass: jb.73
function TForm1.GetAgentAnimationNames(Agent : IAgentCtlCharacterEx; SL: TStrings) : Boolean;
const
IID_IEnumVariant: TGUID = (D1:$00020404;D2:$0000;D3:$0000;D4:($C0,$00,$00,$00,$00,$00,$00,$46));
var
IEnumVar : IEnumVariant;
BufferAnimationName : OLEVariant;
Retrieved : Cardinal;
hRes : HResult;
begin
Result := False;
if not Assigned(Agent) then Exit;
if Agent.AnimationNames.Enum.QueryInterface(IID_IEnumVariant, IEnumVar) = S_OK then
begin
Result:=True;
repeat
hRes:=IEnumVar.Next(1, BufferAnimationName, Retrieved);
if Retrieved = 1 then SL.Add(BufferAnimationName);
until hRes <> S_OK;//}
end;//}
end;
Por favor se alguém puder me ajudar ficarei grato.
Ass: jb.73
João Machado
Curtidas 0