ForwardTSoftwareSDK и Delphi

Здесь обсуждаются любые продукты компании СофтЛаб-НСК для телевизионного вещания (Форвард Т, Форвард ТС, Форвард Голкипер, Форвард Рефери, Форвард Офис, Форвард Инжест)

Модераторы: Людмила, PR, vd, Даниленко Сергей

Ответить
Энди
Сообщения: 74
Зарегистрирован: 20 апр 2009 16:42

ForwardTSoftwareSDK и Delphi

Сообщение Энди »

Очень интересует пример, как прикрутить SMS SDK к Delphi используя COM-объект?
Даниленко Сергей
Сообщения: 7091
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

Мы у себя при разработке используем С++ и С#.
Delphi не используем.
А в форумах смотреть не пробовали? Я имею ввиду как пользовать СОМ-объекты в Delphi вообще.
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

Вот пример поиска. Вторая ссылка рассказывает, как вызывать Word из кода Delphi - примерно из той же оперы задача.

На сайте с этой статьей есть и форум - попробуйте там поспрашивать.
Энди
Сообщения: 74
Зарегистрирован: 20 апр 2009 16:42

Сообщение Энди »

Ну вроде подключился) Сообщения отправляются.. пока не совсем понятно что за константа "const Nick: WideString" в процедуре:

Код: Выделить всё

procedure SetMessage(const Text: WideString; const Nick: WideString; StyleIndex: Integer; MsgID: Integer);
и каким образом она планируется выводиться?
И второй вопросик, что мне использовать чтобы отключать титровальный объект "смс" когда нет смс сообщений (и включать другой)?
Даниленко Сергей
Сообщения: 7091
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

пока не совсем понятно что за константа "const Nick: WideString" в процедуре
А что собственно не понятно? Nick - это ник. А символ const означает, что внутри процедуры данная переменная не будет меняться.
и каким образом она планируется выводиться?
Вы про ник?
И второй вопросик, что мне использовать чтобы отключать титровальный объект "смс" когда нет смс сообщений (и включать другой)?
Что такое отключить? Перестать показывать сообщения? Ну так не посылайте в них сообщения. Или вам нужно спрятать титровальный элемент?
Есть набор интерфейсов для работы с СМС-титровальными объектами:
GetSMSObjectsCount - получить их число
GetSMSObjectName - получить имя титровального элемента
GetSMSObjectByIndex - получить титровальный элемент по индексу
:::::::::::::::::
С помощью них вы подцепляетесь к нужному вам объекту, а потом посылаете сообщения.

В используемой вами версии SMS SDK нет поддержки показа "ника".

В новой версии SDK есть такой метод:
HRESULT SetStyleMessageTo(
[in] BSTR bstrSMSName,
[in] BSTR bstrNickStyle,
[in] BSTR bstrNick,
[in] BSTR bstrTextStyle,
[in] BSTR bstrText,
[in] long lMsgID,
[in] long bNewLine);

Он собственно и предназначен для форматирования ника и текста. Основные параметры ясны из названия, а bNewLine - как показывать "ник" (на отдельной строке или в одну строку):
Типа:
Ник
текст сообщения

или

Ник текст сообщения
Энди
Сообщения: 74
Зарегистрирован: 20 апр 2009 16:42

Сообщение Энди »

Даниленко Сергей писал(а):Или вам нужно спрятать титровальный элемент?
да именно это и нужно..
Даниленко Сергей писал(а):В новой версии SDK есть такой метод:
Новая версия SDK, как я понимаю, тоже еще не озвечена)
Даниленко Сергей
Сообщения: 7091
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

Или вам нужно спрятать титровальный элемент?
да именно это и нужно..
А чем вас не устраивает просто прекращение передачи сообщений?
Новая версия SDK, как я понимаю, тоже еще не озвечена)
Новая версия SDK всегда выходит с новым релизом.
Пока можем вам предоставить какую-нибудь неэфирную бету для тестирования.
Энди
Сообщения: 74
Зарегистрирован: 20 апр 2009 16:42

Сообщение Энди »

Даниленко Сергей писал(а): А чем вас не устраивает просто прекращение передачи сообщений?
тем что нужно показывать дополнительную информацию, в автоматизированном режиме
Даниленко Сергей
Сообщения: 7091
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

да именно это и нужно..
А чем вас не устраивает просто прекращение передачи сообщений?
тем что нужно показывать дополнительную информацию, в автоматизированном режиме
Все равно не понятно. Есть титровальный элемент SMS/SMSRoll. Он показывает сообщения. Если сообщений нет, то он ничего не показывает. Вернее показывает прозрачность. Если вы хотите на этом же самом месте что-то выводить, ну так положите в это место другой титровальный элемент и показывайте в нем доп. информацию.
Я честно говоря пока не понял вашего общего замысла. Может подробнее все же объясните?
Энди
Сообщения: 74
Зарегистрирован: 20 апр 2009 16:42

Сообщение Энди »

Даниленко Сергей писал(а): Все равно не понятно. Есть титровальный элемент SMS/SMSRoll. Он показывает сообщения. Если сообщений нет, то он ничего не показывает. Вернее показывает прозрачность. Если вы хотите на этом же самом месте что-то выводить, ну так положите в это место другой титровальный элемент и показывайте в нем доп. информацию.
Я честно говоря пока не понял вашего общего замысла. Может подробнее все же объясните?
Все правильно, есть другой титровальный элемент с информацией, но его же нужно запускать!!! когда нет новых смс сообщений...т.е. автоматизированно)
Даниленко Сергей
Сообщения: 7091
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

Есть два варианта рещения задачи.

1)Встраивайте в свою программу, которая занимается обработкой смс-сообщений, поддержку работы с SLMessageServer. С помощью этого механизма вы можете управлять программой OnAir. В частности включать/выключать титровальные объекты. Раздел SDK называется "SLMessageServerSDK". Обсуждение, которое разъясняет принципы работы этого механиза, можно посмотреть здесь:
viewtopic.php?t=2315&start=0

2)Используйте высокоуровневое SDK для работы с тировальными объектами. Раздел SDK называется "SLTMTitleRunTimeSDK". С помощью его вы можете загрузить в свое приложение собственный титровальный проект и управлять титровальными элементами проекта.

Основное отличие предложенных вариантов состоит в том, что в первом случае у вас есть возможность взаимодействия с расписанием программы OnAir, а во втором - нет.

PS Здесь можно взять ПО для тестирования смс с ником:
ftp://ftp.sl.iae.nsk.su/Public/ForwardT ... t/ForwardT Software_5_00_690.exe
!!!Эта версия ПО не является официальным релизом и не предназначена для работы в эфире!!!
Энди
Сообщения: 74
Зарегистрирован: 20 апр 2009 16:42

Сообщение Энди »

Даниленко Сергей писал(а): 2)Используйте высокоуровневое SDK для работы с тировальными объектами. Раздел SDK называется "SLTMTitleRunTimeSDK". С помощью его вы можете загрузить в свое приложение собственный титровальный проект и управлять титровальными элементами проекта.
Использоваться будет два проекта одновременно (onair и собственный)? тогда у какого проекта выше приоритет?
Даниленко Сергей
Сообщения: 7091
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

Нет никаких приоритетов. OnAir ничего не будет знать про ваш собственный проект. Оба проекта абсолютно независимы.
Энди
Сообщения: 74
Зарегистрирован: 20 апр 2009 16:42

Сообщение Энди »

Даниленко Сергей писал(а):Нет никаких приоритетов. OnAir ничего не будет знать про ваш собственный проект. Оба проекта абсолютно независимы.
Предположем, что есть два проекта, в кждом по титровальному объекту в одной области, какой объект перекроет другой при выводе в эфир оба проекта?
Даниленко Сергей
Сообщения: 7091
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

А это определяется Z-координатой титровального элемента. Как настроите, так они и будут показываться. Чем меньше Z-координата, тем "глубже" титровальный элемент. Другими словами, чем меньше Z-координата, тем раньше отрисовывается элемент.
Z-координаты можно выставлять вручную.
Ответить