Программирование под Форвард в среде Borland C++ Builder

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

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

Ответить
AntonChik
Сообщения: 83
Зарегистрирован: 16 фев 2010 15:32
Откуда: г. Красноярск

Программирование под Форвард в среде Borland C++ Builder

Сообщение AntonChik »

Ребята, отзовитесь, подскажите, кто писал под Форвард на Билдере.

При импорте tlb-шки с среду, либо уже потом, при компиляции своего проекта неизменно возникают следующие 3 ошибки в библиотеке SLTMTitleRunTime_OCX.h:
Parameter mismatch in read access specifier of property NumObjects
в строке

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

  __property long NumObjects={ read=get_NumObjects };
Cannot convert 'long' to 'wchar_t *'
в строке

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

    return GetDefaultInterface()->GetName(index/*[in]*/, pRetVal/*[out,retval]*/);
и
Cannot convert 'long' to 'IUnknown *'
в строке

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

    return GetDefaultInterface()->GetRunTimeInterface(index/*[in]*/, pRetVal/*[out,retval]*/);
с чем это связано? решаемо ли?
или может я что-то делаю не так?
amir
Сообщения: 11
Зарегистрирован: 15 дек 2003 12:51
Откуда: Softlab-Nsk

Сообщение amir »

Явно, что среда неправильно импортирует TLB.
Чем тут помочь, не знаем.
Когда-то мы начали писать на C++ Builder 3, да так и не перешли на более поздние версии, поскольку это требовало переделки кода, работающего с COM.
На этом старом у нас все работает.
ВОВАН
Сообщения: 168
Зарегистрирован: 16 окт 2005 03:02
Откуда: г.Туапсе

Сообщение ВОВАН »

Дайте ваше мыло, кину то, что у меня получилось сделать под Билдером 6. Может поможет.
Игорь Таранцев
Сообщения: 493
Зарегистрирован: 04 янв 2004 12:45
Откуда: СофтЛаб-НСК

Сообщение Игорь Таранцев »

Можно послать просто на техподдержку:
forward@sl.iae.nsk.su
Мы с Амиром попробуем помочь.
Только вышлите весь проект целиком, включая файлы, созданные при импорте (собственно то, на что ругается компилятор).
AntonChik
Сообщения: 83
Зарегистрирован: 16 фев 2010 15:32
Откуда: г. Красноярск

Сообщение AntonChik »

2ВОВАН: я писал Вам в личку своё мыло, но возможно Вы не успели его прочитать в следствие отключения личных сообщений на форуме (оффтоп: зачем?), поэтому пишу свое мыло здесь: fender@afontovo.ru
Вышлите, пожалуйста, свои наработки, постараюсь разобраться.

2Игорь Таранцев: письмо в техподдержку со своими проектами выслал.
Надеюсь на помощь. Спасибо.
Даниленко Сергей
Сообщения: 7091
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

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

2ВОВАН: я писал Вам в личку своё мыло, но возможно Вы не успели его прочитать в следствие отключения личных сообщений на форуме (оффтоп: зачем?), поэтому пишу свое мыло здесь: fender@afontovo.ru
Вышлите, пожалуйста, свои наработки, постараюсь разобраться.
Личные сообщения отключили из-за того, что с помощью них начали активно рассылать спам и наши пользователи начали на это жаловаться.
2Игорь Таранцев: письмо в техподдержку со своими проектами выслал.
Надеюсь на помощь. Спасибо.
получили, разбираемся.
ВОВАН
Сообщения: 168
Зарегистрирован: 16 окт 2005 03:02
Откуда: г.Туапсе

Сообщение ВОВАН »

AntonChik, да, я действительно вижу, что у меня одно новое сообщение но прочитать не могу(не успел). Сегодня вечером отправлю свои наброски.
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

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

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

Для AntonChik:
Ответили по почте.

Смысл ответа:
Вам не нужно класть наши объекты на форму, они для этого не предназначены. Достаточно просто создавать классы через new(). Т.е. я предлагаю убрать из проекта файлы *_OCX.*, а оставить только *_TLB.* (а именно, SLTMTitleRunTime_TLB.h и SLTMTitleRunTime_TLB.cpp). Классы из этих файлов должны нормально компилироваться.
ВОВАН
Сообщения: 168
Зарегистрирован: 16 окт 2005 03:02
Откуда: г.Туапсе

Сообщение ВОВАН »

Вопросик возник. Поставил на одну машину две платы FD300. У меня моя программка берет состояния ОнАира и включает свои титры(через API). Проблема в том, что когда появилось два ОнАира на одной машине, программка срабатывает на отключение всех титров сразу от двух ОнАиров(хотя они настроены на разные платы от разных ТВ каналов). Вот собственно вопрос: как узнать от какого ОнАира пришло сообщение ? В какой ОнАире выключились титры?

Вот как это у меня выглядит:

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

if ((message == WM_USER)&&((wParam & 0xff)==2)&&(lParam==0))stop=4;
Даниленко Сергей
Сообщения: 7091
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

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

Индекс платы можно узнать.
#define FrwMsgClassName "TForwardMessager"

// ----------- Forward Messages ------------ //
// always send message WM_USER with command as WPARAM and parameter as LPARAM

// Whole range of command with (WParam>>16)==1 reserved
#define FrwMsgAirTitling (1<<16)

WPARAM = FrwMsgAirTitling+( BoardIndex<<8 )+cmd


enum cmd {amAsk,amLogo,amTitle,amTime};

amAsk - запущенная задача шлет эту команду, чтобы кто-нибудь сообщил ей текущие значения Logo и Title.
amLogo - сообщает LPARAM = Logo
amTitle - сообщает LPARAM = Title
amTime - сообщает LPARAM = Time, (решено) через сколько миллисекунд в расписании будет TitleOff.
Time == 0 - означает отсутствие ограничений.
ВОВАН
Сообщения: 168
Зарегистрирован: 16 окт 2005 03:02
Откуда: г.Туапсе

Сообщение ВОВАН »

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

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

Параметр WPARAM позволяет определить номер платы.
Ответить