procedure TForm1.Button1Click(Sender: TObject);
begin
Genie.Commands.Add('1','Yes','',True,True);
Genie.Commands.Add('2','No','',True,True);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//Just for test
Request1:= Agent1.Characters.Load('Genie1','c:\windows\msagent\chars\merlin.acs');
Genie:= IAgentCtlCharacterEx(Agent1.Characters.Character('Genie1'));
Genie.Show(0);
//
end;
procedure TForm1.Agent1Command(ASender: TObject;
const UserInput: IDispatch);
begin
if IAgentCtlUserInput(UserInput).Name = '1' then begin
ShowMessage('Yes');
end
else if IAgentCtlUserInput(UserInput).Name = '2' then begin
ShowMessage('No');
end
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Genie.Hide(1);
Agent1.Characters.Unload('Genie1');
Action:= caFree;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Genie.Speak('Hello', '');
Self.FvarParam := 'After Genie say hello';
Self.FDoAfterAgent := Self.DoAfterAgentTalk;
end;
procedure TForm1.Agent1IdleStart(ASender: TObject;
const CharacterID: WideString);
begin
if assigned(Self.FDoAfterAgent) then
begin
Self.FDoAfterAgent();
Self.FDoAfterAgent := nil;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Self.FvarParam := 'After Genie say hehe';
Self.FDoAfterAgent := Self.DoAfterAgentTalk;
Genie.Speak('Hehe', '');
end;