опять OPC... |
Ответить | Страница 123> |
Автор | |
Новичок Присоединился: 14 Октябрь 2004 Категория: Russian Federation Online Status: Offline Публикации: 10 |
Опубликовано: 17 Октябрь 2004 00:35 |
Или я совсем дурной или ниче не понимаю (что почти одно и то же ) Я использую исходники с сайта www.opcconnect.com конкретно - delphiopcclient. Вроде все понятно и просто, пример нормально компилируется, но во время работы выдает ошибки типа "незарегистрированный класс". Я проверил, оказалось, что ненайден интерфейс IDataObject из ... ActiveX.pas - как так? Может, его надо как-то зарегистрировать??? В файле объявлен его GUID, но в реестре я такого не нашел. И остальные интерфейсы из этого файла также отсутствуют в реестре. Может мне кто-нить объяснить это? Прошу прощения за возможную тупость вопроса. |
|
русский Иван
|
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 07 Октябрь 2004 Категория: Russian Federation Online Status: Offline Публикации: 359 |
|
Я сам скачал данный компонент, но еще не проверял его. В файле readmi-client.html есть такое примечание: You will also need the Delphi conversion of the OPC custom interfaces, available separately from the Delphi page at OPC Programmers' Connection.
Возможно поможет. Желаю успеха. |
|
Новичок Присоединился: 14 Октябрь 2004 Категория: Russian Federation Online Status: Offline Публикации: 10 |
|
Это было бы слишком просто =) Я тоже читал этот файл, все необходимое (кроме упомянутых файлов еще нужна библиотека dll с сайта www.opcfoundation.com) скачал... Опять же не находится не тот интерфейс, что описан в библиотеке OPC, а из файла ActiveX.pas, то есть он должен был бы работать и при использовании в каких-нибудь других приложениях, связанных с ActiveX, я так думаю... А дополнительные файлы определяют новые интерфейсы для OPC и только, старые типа IDataObject не затрагиваются. Вот такие у нас пироги. |
|
русский Иван
|
|
Новичок Присоединился: 14 Октябрь 2004 Категория: Russian Federation Online Status: Offline Публикации: 10 |
|
Снова я... Каким-то чудом разобрался с этими интерфейсами =) Теперь другая проблема: В примере сервера есть такие функции как : TAsyncIO2.HandleChange TAsyncIO2.HandleRead TAsyncIO2.HandleWrite Они в принципе своем похожи, потому я их привел вместе. А дело в следующем коде: pVariants:=POleVariantArray(CoTaskMemAlloc(itemCount*sizeof(OleVariant))); // переменная типа POleVariant размером на itemCount элементов ... // какой-то код, заполнение и использование pVariants... if pVariants <> nil then CoTaskMemFree(pVariants); Вот тут пояляются ошибки. Вообще при попытке присвоения переменной pVariants какого-то значения - РАЗ. Где-то в статьях прочитал, что надо при работе в вариантными типами использовать дополнительно Initialize(pVariants,sizeof(OleVariant)); Но тогда появляется ошибка при выполнении строки CoTaskMemFree(pVariants); Добавление строки типа Finalize(pVariants) не помогает... Не знаю, что неправильного??? |
|
русский Иван
|
|
Новичок Присоединился: 22 Ноябрь 2004 Категория: Russian Federation Online Status: Offline Публикации: 36 |
|
А можно уточнить, каким чудом с интерфейсами разобрался? Дело в том, что у меня такая же ошибка вылезала не со всеми клиентами, а только с версии 1.0 ОРС. Я смотрел спецификацию и нашел там строчку, типа IDataObject - obsolete (эт, по-моему класс в IGroup, может и ошибаюсь, конечно...) А вообще, щаз пользуюсь Fastwell UniOPC Server (в смысле, начинаю разбираться, и пока получается). - Там надо только длл-ку написать. Есть пример на сях, в делфи переносится без большого труда. |
|
просто Шурик
|
|
Новичок Присоединился: 21 Июль 2004 Категория: Kazakhstan Online Status: Offline Публикации: 10 |
|
kill, скинь, пожалуйста мне на мыло, saveliev_d@rambler.ru, исходник DLL-ки к UniOPC на сях? Только начинаю осваивать, понимаешь... |
|
Участник Присоединился: 21 Июнь 2004 Категория: Russian Federation Online Status: Offline Публикации: 66 |
|
kill, а мне пожалуйста пример на DELPHI на gugoya@inbox.ru |
|
Новичок Присоединился: 22 Ноябрь 2004 Категория: Russian Federation Online Status: Offline Публикации: 36 |
|
to Serenum: писал на делфи, исходник на сях в примере к серверу to ivsergey: пошлю. |
|
просто Шурик
|
|
Новичок Присоединился: 14 Октябрь 2004 Категория: Russian Federation Online Status: Offline Публикации: 10 |
|
Эх, давненько не залезал... Каким чудом разобрался - и сам не помню, вроде бы просто пошел другим путем (там было 2 способа получения данных от сервера) А насчет UniOPC - че енто за зверь? Тоже фри или один из полу-бесплатных продуктов? Только для серваков или и для клиентов? Как на нем пишется? Короче, стоит ли смотреть? Приму ссылки на исходники с благодарчиком... Заранее спасибо! |
|
русский Иван
|
|
Новичок Присоединился: 22 Ноябрь 2004 Категория: Russian Federation Online Status: Offline Публикации: 36 |
|
Fastwel Universal OPC Server - небесплатная прога, к которой нужно написать длл, который и будет отвечать за функциональность сервера. Только для серваков. Легко ломается. Ввиду необходимости использования только лицензионного ПО на моем предприятии я перешел на prOPC - для делфей библиотечка(и) такая(ие). Тоже небесплатная, но можно найти, если поискать. Где-то, где точно, не помню. |
|
просто Шурик
|
|
Ответить | Страница 123> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |