Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
С++ & _VFP
|
|||
|---|---|---|---|
|
#18+
Подскажите как из С++ получить указатель на интерфейс OLE сервера _VFP ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2004, 15:29 |
|
||
|
С++ & _VFP
|
|||
|---|---|---|---|
|
#18+
Как и все остальные com-объекты #import (тут фокс typelib) и объявляешь параметр в методе как IDispatch*, а в самом методе делаешь преобразование к _VfpApplicationPtr . Давно это было, точный код уже потерял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2004, 15:41 |
|
||
|
С++ & _VFP
|
|||
|---|---|---|---|
|
#18+
To Crip : фокс typelib - файл какой ? что-то я всю систему облазил , но ни tlb ни оdl ни нашел, который бы хоть како-то говорил что это фоксовский ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2004, 11:12 |
|
||
|
С++ & _VFP
|
|||
|---|---|---|---|
|
#18+
Файл? Да вроде vfpXr.dll ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2004, 11:16 |
|
||
|
С++ & _VFP
|
|||
|---|---|---|---|
|
#18+
То Crip: Делаю так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Все "рушится". Где я накосячил ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2004, 10:03 |
|
||
|
С++ & _VFP
|
|||
|---|---|---|---|
|
#18+
Нафиг вам Dispatch. У меня через него и не получалось. У Фокса есть родные методы Eval и DoCmd ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2004, 21:56 |
|
||
|
С++ & _VFP
|
|||
|---|---|---|---|
|
#18+
Наверное невнятно ответил. Это принимать параметр (_Vfp) в методе С++ нужно как IDispatch. Всю работу нужно ввести через интерфейс _VfpApplication ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2004, 21:59 |
|
||
|
С++ & _VFP
|
|||
|---|---|---|---|
|
#18+
Понял тебя. Попробую так. Сразу не допетрил. Странно что не получается работа через pIDispatch->Invoke(...), мучался -мучался, бросил. Решил попробовать через интелектуальные смарт-указатели Получилось так : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. VFP8.exe и IDL там из него тащит утилита. Ставил в #import его, таже ситуация, ругается, причем ругается на переопределнный опреатор () типа _bstr_t, а без этой обертки команду в метод не протолкнуть. Как-то же можно это сделать без передачи в качетсве параметра _VFP, а заиметь IDispatch самому и выполнять методы объекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2004, 09:55 |
|
||
|
С++ & _VFP
|
|||
|---|---|---|---|
|
#18+
Еще, а если я хочу передать _VFP в FLL, то как его принимать через ParamBlk FAR *parm ? Допустим: Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2004, 10:12 |
|
||
|
С++ & _VFP
|
|||
|---|---|---|---|
|
#18+
В fll можно передавать тип 'O' Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2004, 10:32 |
|
||
|
С++ & _VFP
|
|||
|---|---|---|---|
|
#18+
Передать-то можно, только это будет не IDispatch, а объект фокса. Я тут попробовал, передавать нужно SYS(3095,_vfp) - указатель на IDispatch объекта, а в FLL принимать как Integer. Потом соответственно приводить к (IDispatch *) типу. IDispatch знаю, но интерфейсов-то я не вижу пока. Как теперь получить указатель на интерфейс Application(кстати там не только этот интрфейс есть) описанный в IDL фокса ? Имеется также typelib фокса. Как теперь все это собрать в кучу для получения указателя на интерфейс , что-то я не догоню. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2004, 07:57 |
|
||
|
С++ & _VFP
|
|||
|---|---|---|---|
|
#18+
С инициализацией и вызовом разобрался. Схема примерно такая: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. кода СOM DLL VFP такой же ? И кстати, почему-то с #import "vfp8.exe" rename_namespace("VFPLib") работает, а с #import "vfp8r.dll" rename_namespace("VFPLib") не работает(что было бы предпочтительней), при попытке указать: using namespace VFPLib; - ругается что такого не обнаружено. Хотя vfp8r.tli и vfp8r.tlh созданы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2004, 17:19 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32515449&tid=1596525]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
132ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 460ms |

| 0 / 0 |
