powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / IMPLEMENTS - что-то не понял...
5 сообщений из 5, страница 1 из 1
IMPLEMENTS - что-то не понял...
    #33509605
SIG2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спецы по 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
IMPLEMENTS - что-то не понял...
    #33509797
piva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Берешь Object Browser находишь свою DLL выковыриваешь из нее все методы и события - перетаcкиваешь их мышом в окно Program он тебе сам все напишет - твоя задача только через BindEvent связаять свой класс и классом прописанным в твоей DLL
...
Рейтинг: 0 / 0
IMPLEMENTS - что-то не понял...
    #33510652
SIG2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, все так просто...
...
Рейтинг: 0 / 0
IMPLEMENTS - что-то не понял...
    #33664973
Сергей А.М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pivaБерешь Object Browser находишь свою DLL выковыриваешь из нее все методы и события - перетаcкиваешь их мышом в окно Program он тебе сам все напишет - твоя задача только через BindEvent связаять свой класс и классом прописанным в твоей DLL
Разъясните пожалуйста, обязательно ли использование BindEvent, разве не достаточно сделать весь функционал в своем классе? И что имелось в виду '... классом прописанным в твоей DLL'?

Заранее спасибо.
...
Рейтинг: 0 / 0
IMPLEMENTS - что-то не понял...
    #33669205
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / IMPLEMENTS - что-то не понял...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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