|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.09.2014, 11:09 | #1 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Вызов интерфейса из СОМ сервера.
Всем доброго. Встала задача мобилизировать силушку FoxPro в прикладной программе. Под это была написана обертка-ДЛЛ, содержащая функции работы с ядром фокспро в виде СОМ сервера. Либу прикладываю.
Моя задача: Загрузить СОМ сервер в программе динамически, получить интерфейс на его классы и поработать с их методами. Так вот у меня не получается вызов методов класса, который я запрашиваю через интерфейс: Код:
Отработка программы до этого момента такова: Цитата:
И я точно знаю что у него должна быть процедура myproc: Цитата:
I'm learning to live...
|
||
23.09.2014, 14:50 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
А кто делает из '' строчек BSTR строчки?
Вызов myfunc происходит или нет, т.е. ломается до или после вызова? Если после, то что делает myfunc? |
23.09.2014, 17:03 | #3 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Сейчас ХЕ уже сливаются в такую ошибку. Хотя возможно сам фокспро и преобразует, всетки эта ДЛЛ на нем написана. Цитата:
Код:
Не могу в толк взять почему раньше эта схема работала, когда я на D6+ForPro7 работал а сейчас... Что могло поменяться то?
I'm learning to live...
|
||
23.09.2014, 17:49 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Я бы начал с того, что сделал бы myfunc пустой и потом добавлял строчку за строчкой, пока сломается.
Я ставлю на то, что проблема в RETURN mret... Ни в Дельфи ни фохпро не разбираюсь, шарю только в СОМ. |
23.09.2014, 20:49 | #5 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Хорошая идея, чет сам не допер (хорошо что спросил).
Убрал. Сделал метод процедурой. Все равно ошибка та же. Тело процедуры пустым оставил... как будто Фокспро компилирует совсем не то что заявлено...
I'm learning to live...
|
23.09.2014, 21:52 | #6 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
А если сделать аргумент не BSTR а INT (ну и передавать что-то типа 1234)?
Если тогда заработает, значит проблема преобразования из '' в BSTR |
23.09.2014, 22:48 | #7 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Так я вообще убрал все аргументы. Тупо процедура пустая.
Тут еще момент всплыл - фокспро без некоторых run-time ДЛЛ не работает. Я этот момент наверное упустил. Не думал что обертке они понадобятся но на стадии регистрации (regsvr32) обертка мне так и сказала - не хватает ДЛЛ, но уже завтра буду ДЛЛ эти подкидывать к проекту. К тому же удалось раскопать из своих наработок это: Код:
P.S. А скорее всего что я тупо неверно интерфейсы использую. Всетки ДЛЛ рантаймовые стоят в системе, и фокспро работает...
I'm learning to live...
|
24.09.2014, 00:32 | #8 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
|
24.09.2014, 08:15 | #9 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
P.S. Итак все решилось. Действительно не нужно было работать через variant. После того как подтянул в проект вышеуказанный класс-интерфейс все запустилось и заработало.
I'm learning to live...
Последний раз редактировалось Stilet; 24.09.2014 в 10:24. |
|
23.12.2016, 03:51 | #10 | |
Регистрация: 27.09.2016
Сообщений: 3
|
Всем доброго времени суток.
Цитата:
Уж очень надо, а разобраться не могу, не опытен. Спасибо. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вызов деструктора класса при присвоении ссылке на метод реализуемого интерфейса nil | LISTAT | Общие вопросы Delphi | 1 | 02.07.2012 20:56 |
настройка СОМ-сервера | mureno | Компоненты Delphi | 0 | 12.12.2010 15:35 |
Система СОМ на базе сервера МТS | s2dentishe | Общие вопросы Delphi | 4 | 17.09.2010 10:10 |
Вызов рантайм сервера в матлабе | Kracozebr | Помощь студентам | 0 | 04.08.2010 12:35 |
Расширение интерфейса сервера приложений | malevich | Общие вопросы Delphi | 2 | 22.03.2008 02:05 |