SIEMENS, DF&PD

Предыдущее посещение: Чт июл 07, 2016 14:37 Текущее время: Чт июл 07, 2016 14:37

Часовой пояс: UTC + 3 часа




 [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Microsoft Forms 2.0 и WebNavigator
СообщениеДобавлено: Пт авг 10, 2007 15:26 
Не в сети
Новый писатель

Зарегистрирован: Ср фев 07, 2007 9:28
Сообщения: 40
Откуда: р. Татарстан, Наб. Челны, КЭР-Инжиниринг
Доброго всем времени суток!

Возникла следующая проблема:

требуется отобразить список значений (неважно каких)
в элементе управления типа ListBox, но код должен работать
и в WebNavigatore на клиентских машинах.

Решал проблему так (На Си):
Код:
__object *App, *Pic, *ListCtrl, *Item;

App = __object_create("PDLRuntime");

if( App == NULL ) printf("App object create error!\r\n");

Pic = App->GetPicture(lpszPictureName);

if( Pic == NULL ) printf("Pic object create error!\r\n");

ListCtrl = Pic->Getobject("ListBox");

if( ListCtrl == NULL ) printf("ListBox object create error\r\n");

for( i = 0; i < 10; i++ )
{
  ListCtrl->AddItem( (char *)"My text" );
}

__object_delete(ListCtrl);
__object_delete(Pic);
__object_delete(App);


Этот код работает на локальной машине в обычном Runtime,
но в WebNavigatore выдает ошибку "Pic object create error!", т.е. Pic==NULL.

В чем здесь проблема?

Если использовать VB,
Код:
Dim obj
Set obj = ScreenItems("ListBox")
obj.Clear()
obj.AddItem("Sample1")
obj.AddItem("Sample2")
obj.AddItem("Sample3")
obj.ListIndex = 0
End Sub

то все нормально работает в WebNavigator на локальной машине.

На удаленной машине (чистый Windows XP SP2 Prof + WebNavigator-Client + (regsvr32 fm20.dll) ) почему-то элемент управления в окне не отображается (вместо него отображается
только пустой прямоугольник). Удаленная машина в данном случае
- VMware Workstation на этом же компьютере.

Вопрос 1. Можно ли заставить все-таки Си-скрипт с ListBox-ом работать в WebNavigator ?
Вопрос 2. Каких библиотек, кроме fm20.dll, не хватает на клиентской машине ?

P.S. Я порпробовал элемент управления Siemens STEP7 S7TextBox для
отображения текста - он работает нормально везде (и на сервере, и на клиентах, соответственно после регистрации компонента в системе). Но, увы, мне нужен элемент управления "список", может что-то еще поссоветуете?

Спасибо за внимание.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн авг 13, 2007 9:09 
Не в сети
Известный Писатель

Зарегистрирован: Чт авг 02, 2007 13:50
Сообщения: 211
Откуда: ООО "ЭСПЕЙС", Санкт-Петербург
На клиенскую машину поставь Microsoft Forms 2.0. Возьми из Visual Studio SP6 вытащи и зарегай. Аналогичная проблема была.
Пустой прямоугольник как раз и говорит о том-что у тебя нет такого контрола или подключаемых библиотек, а
ТАКЖЕ загляни в: HKEY_CLASSES_ROOT\Licenses
Мож у тебя нет лицензии на этот контрол, по у молчанию в XP там
всего 3 лицензии.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн авг 13, 2007 10:24 
Не в сети
Новый писатель

Зарегистрирован: Ср фев 07, 2007 9:28
Сообщения: 40
Откуда: р. Татарстан, Наб. Челны, КЭР-Инжиниринг
Спасибо. Одна проблема решилась.
ActiveX нормально стал работать, когда я добавил
еще рядом с fm20.dll либу fm20enu.dll (положил обе dll в windows\system32 и зарегистрировал fm20.dll).

Но проблема с Си-скриптом остается - в WebNavigatore:

на сервере не может создать объект
Код:
Pic = App->GetPicture(lpszPictureName);


а на клиенте
Код:
App = __object_create("PDLRuntime");


Может кто-нибудь знает все-таки, как это побороть?

P.S.
При этом VB-код работает.
Но у меня работа с БД на Си, и не хотелось бы повторять это еще и на VB.

Спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн авг 13, 2007 14:16 
Не в сети
Известный Писатель

Зарегистрирован: Чт авг 02, 2007 13:50
Сообщения: 211
Откуда: ООО "ЭСПЕЙС", Санкт-Петербург
nick_user писал(а):
Код:
Pic = App->GetPicture(lpszPictureName);


а
Код:
App = __object_create("PDLRuntime");
if (!App)
{
printf("Невозможно создать объект\r\n"); return;
}

Пробовали?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн авг 13, 2007 14:22 
Не в сети
Новый писатель

Зарегистрирован: Ср фев 07, 2007 9:28
Сообщения: 40
Откуда: р. Татарстан, Наб. Челны, КЭР-Инжиниринг
nos96 писал(а):
Код:
App = __object_create("PDLRuntime");
if (!App)
{
printf("Невозможно создать объект\r\n"); return;
}

Пробовали?


Пробовал (см. самый первый пост).
Не создает. Возвращает NULL.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн авг 13, 2007 15:22 
Не в сети
Известный Писатель

Зарегистрирован: Чт авг 02, 2007 13:50
Сообщения: 211
Откуда: ООО "ЭСПЕЙС", Санкт-Петербург
nick_user писал(а):
Пробовал (см. самый первый пост).
Не создает. Возвращает NULL.

Пардон, пропустил 1-й пост (точнее не внимательно прочитал).
А Run-Time работает в это время?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн авг 13, 2007 15:32 
Не в сети
Новый писатель

Зарегистрирован: Ср фев 07, 2007 9:28
Сообщения: 40
Откуда: р. Татарстан, Наб. Челны, КЭР-Инжиниринг
nos96 писал(а):
Пардон, пропустил 1-й пост (точнее не внимательно прочитал).
А Run-Time работает в это время?


Работает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 28, 2008 12:44 
Не в сети
Известный Писатель

Зарегистрирован: Пн янв 10, 2005 13:20
Сообщения: 391
Откуда: г.Пенза
у меня такая же проблема...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
 [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group