はじめまして。
最近 MS Agent をいじっているのですが、LanguageID の設定がDelphi でうまくできません。
VBでは簡単にできるんですけど・・・。
VBのコードはこんな感じで正常に動作します。
Private Sub Form_Load()
Dim marlin As IAgentCtlCharacterEx
Agent1.Characters.Load "marlin", "C:\WINDOWS\msagent\chars\merlin.acs"
Set marlin = Agent1.Characters("marlin")
marlin.LanguageID = &H409' American English
marlin.Show
marlin.Speak "apple"
End Sub
一方、Delphi はこんな感じで作りましたが、うまく動作しません。
procedure TForm1.FormCreate(Sender: TObject);
begin
Agent1.Characters.Load('MyAgent','C:\WINDOWS\msagent\chars\merlin.acs');
AgentChar:=Agent1.Characters.Character('MyAgent') as IAgentCtlCharacterEx;
AgentChar.LanguageID:=$409;// ここでエラーが出ます
AgentChar.Show(0);
AgentChar.Speak('apple', '');
end;
どなたか、MS Agent に詳しい方はおられませんか?
ここにサンプルがあります。
http://members.jcom.home.ne.jp/shinonon/delphi/tips3.html
ありがとうございます。
早速このサンプルプログラムをDLしてみたのですが、LanguageID の設定はされていませんでした。
残念・・・。
いちおう、解決しました。
Delphi7ではなくDelphi6で試してみたら、正常に動きました。
AgentObjects_TLBのコードがDelphi7に対応していないのでしょうか。
せっかくDelphi7を買ったのに、Delphi6に逆戻りです・・・。
ツイート | ![]() |