Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2010, 22:51   #1
Vlad_55
Пользователь
 
Регистрация: 03.11.2007
Сообщений: 22
По умолчанию SAPI 5.4 (Win7) Ошибка в собранном проекте

Есть код:
Код:
uses Comobj;
...
procedure TForm1.Button1Click(Sender: TObject);
var
   voice: OLEVariant;
 begin
   voice := CreateOLEObject('SAPI.SpVoice');
   voice.Speak('WTF!', 0);
end;
Который прекрасно работает в Win XP. Также работает и при запуске проекта из IDE Delphi 2010 под Win7.
Как только закрываю IDE и запускаю exe-шник - вываливается "Division By Zero" на второй строке. Пробовал получить хотя бы код ошибки - нифига не отдает. Просто сразу орёт, что деление на 0 и всё. Уже по всякому пробовал работать - через ISpVoice, ISpeechVoice, всякие CoSpVoice и т.д. и т.п. не могу понять где ошибка...помогите плз кто в курсе.
WebDelphi.ru - блог о программировании на Delphi
Vlad_55 вне форума Ответить с цитированием
Старый 03.05.2010, 23:13   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...попробуй coinizializate(nil) перед create впихнуть ...хотя мучиться с поприетарно закрытым , переходите лучше на TDirectSS/
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 04.05.2010, 10:32   #3
Vlad_55
Пользователь
 
Регистрация: 03.11.2007
Сообщений: 22
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
...попробуй coinizializate(nil) перед create впихнуть ...хотя мучиться с поприетарно закрытым , переходите лучше на TDirectSS/
Пробовал - не помогло. В общем разобрался уже. Для того, чтоб в Win7 пахало всё как надо, необходимо сделать импорт библиотеки SAPI 5.4. и использовать в работе класс TspVoice...Единственно чего не допёр, так это то почему класс, использующий в методе Speak интерфейс ISpeechVoice работает нормально, а если использовать напрямую интерфейс - без IDE ошибка деления на ноль...Но это уже оставлю напотом
WebDelphi.ru - блог о программировании на Delphi
Vlad_55 вне форума Ответить с цитированием
Старый 04.05.2010, 14:23   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...и как же вы работали без импорта класса
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 04.05.2010, 15:58   #5
Vlad_55
Пользователь
 
Регистрация: 03.11.2007
Сообщений: 22
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
...и как же вы работали без импорта класса
Видимо немного не корректно выразился. Точнее было бы сказать "для тех кто в первый раз использует SAPI надо сделать импорт...". Класс TspVoice лежит в том же SheechLib.pas, который я и использовал для работы с интерфейсами IspVoice и т.д.
WebDelphi.ru - блог о программировании на Delphi
Vlad_55 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка работы с blob полем, в похожем проекте все работает Lokos БД в Delphi 6 25.02.2010 08:17
MS VS 2010 установка на Win7 Carbon Софт 0 15.02.2010 17:40
Win7 проблема с памятью. Bilargo Windows 5 14.10.2009 20:07
Win7 VadEr Windows 2 28.09.2009 11:46