Zitat von
eisblock:
reicht es nicht aus, die .ocx bzw. .dll und evtl. alle davon abhängigen dateien ins windows-verzeichnis zu kopieren?
(kann leider selbst zurzeit nicht testen, welche Datei die richtige ist, aber ich tippe mal auf die Datei Vtext.dll im Verzeichnis C:\WINDOWS\speech, das heißt dein Installer müsste reintheoretisch einfach das gesamte Verzeichnis speech in den Windows Ordner kopieren (am besten vorher im Installer testen lassen, ob das Verzeichnis nicht schon existiert, weil Windows hat sich ja immer so mit Dateischutz und so)
ist aber nur ne Idee.
STOP !!!
Nicht anfangen einzelne Dateien zu kopieren.
Es gibt im
SDK fertige Setups, die man in seine Installer integrieren kann.
Ab Win2000 ist es eh standardmäßig dabei.
Am einfachsten prüft man ob es verfügbar ist.
z.B.
Delphi-Quellcode:
...
function isOptionSpeechEnabled: Boolean;
begin
// hier solltest Du Deine Benutzeroptionen auswerten
Result := True;
end;
function isSpeechActive: Boolean;
var
spVoice: TspVoice;
begin
Result := False;
// Nur prüfen, falls in Deinen Programm Optionen Sprachausgabe aktiviert
if isOptionSpeechEnabled then
try
spVoice := TspVoice.Create(self);
spVoice.Free;
Result := True;
except
end;
end;
procedure say(s: string);
var
spVoice: TspVoice;
begin
try
spVoice := TspVoice.Create(self);
spVoice.Speak(s, SVSFDefault);
finally
spVoice.Free;
end;
end;
...
if isSpeechActive then
begin
// Sprachausgabe
say('This is a Test.');
end;
...
(Das oben ist ungetesteter Code, ich habe Ihn einfach hier im
Html Editor geschr.)
Es gibt natürlich noch viele Verbesserungsmöglichkeiten.
Aber das Prinzip dürfte klar sein.
Mit dem Agenten könnte man das genau so machen