Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / IMPLEMENTS - что-то не понял... / 5 сообщений из 5, страница 1 из 1
29.01.2006, 19:36
    #33509605
SIG2000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IMPLEMENTS - что-то не понял...
Спецы по VFP, помогите запутавшимуся чайнику,
Нужно из VFP организовать обмен с OPC-сервером.
Есть станд. библ. opcdaauto.dll, прописана в реестре
На VB это выглядит так:

Dim WithEvents MyOPCServer As OPCServer
Set MyOPCServer = New OPCServer
ну и дальше работаем с объектом MyOPCServer

На VFP, как я понял:

DEFINE CLASS MyClass AS custom
IMPLEMENTS OPCServer IN 'opcdaauto.dll'
ENDDEFINE

дальше в программе
MyObject = CREATEOBJECT('MyClass') - выдает ошибку "Class cannot be instantiated because Member 'OPCSERVER_get_StartTime' does not exist".
Ну и куда копать?
...
Рейтинг: 0 / 0
30.01.2006, 07:30
    #33509797
piva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IMPLEMENTS - что-то не понял...
Берешь Object Browser находишь свою DLL выковыриваешь из нее все методы и события - перетаcкиваешь их мышом в окно Program он тебе сам все напишет - твоя задача только через BindEvent связаять свой класс и классом прописанным в твоей DLL
...
Рейтинг: 0 / 0
30.01.2006, 13:02
    #33510652
SIG2000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IMPLEMENTS - что-то не понял...
Спасибо, все так просто...
...
Рейтинг: 0 / 0
13.04.2006, 16:06
    #33664973
Сергей А.М.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IMPLEMENTS - что-то не понял...
pivaБерешь Object Browser находишь свою DLL выковыриваешь из нее все методы и события - перетаcкиваешь их мышом в окно Program он тебе сам все напишет - твоя задача только через BindEvent связаять свой класс и классом прописанным в твоей DLL
Разъясните пожалуйста, обязательно ли использование BindEvent, разве не достаточно сделать весь функционал в своем классе? И что имелось в виду '... классом прописанным в твоей DLL'?

Заранее спасибо.
...
Рейтинг: 0 / 0
16.04.2006, 01:31
    #33669205
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IMPLEMENTS - что-то не понял...
Hi Сергей!

>> Берешь Object Browser находишь свою DLL выковыриваешь из нее все методы и
>> события - перетаcкиваешь их мышом в окно Program он тебе сам все
>> напишет - твоя задача только через BindEvent связаять свой класс и
>> классом прописанным в твоей DLL

> Разъясните пожалуйста, обязательно ли использование BindEvent, разве не
> достаточно сделать весь функционал в своем классе?

Нет, для реализации интефейса необходимо помимо "прописывания функционала" в
классе-заготовке полученном из ObjectBrowser "присоединить" эту реализацию к
COM объекту. Правда Вадим слегка ошибся, реализация присоединяется не через
функцию BindEvents(), а через функцию EventHandler().

> И что имелось в виду '... классом прописанным в твоей DLL'?

В dll находится COM компонент. Он имеет интерфейсы (по сути интерфейс это
список методов и их параметров - это конечно сильно упрощённое определение,
но для начала сойдёт). Некоторые из этих интерфейсов допускают "внешнюю"
реализацию - т.е. разработчик COM компонента специально определяет, что
методы вот этого вот интерфейса могут быть описаны другим разработчиком, а
его компонент станет их вызывать.

Помимо такого механизма связывания существует и другой - более старый (но он
применим далеко не для всех COM объектов). Это требует помещения COM объекта
на фоксовую форму - при этом сам фокс беспокоится о связывании твоего кода,
с интерфейсами COM объекта - для тебя всё выглядит очень просто - у объекта
OleControl появляются дополнительные методы - обработчики событий, набор
которых зависит от того что за класс был помещён на форму.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / IMPLEMENTS - что-то не понял... / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]