![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Результаты опроса: Стоит ли использовать ActiveX, написанный на Delphi, в своих приложениях | |||
Нет |
![]() ![]() ![]() ![]() |
1 | 14.29% |
Да |
![]() ![]() ![]() ![]() |
3 | 42.86% |
В зависимости от кривизны рук разработчика |
![]() ![]() ![]() ![]() |
4 | 57.14% |
Лучше писать ActiveX на другом языке |
![]() ![]() ![]() ![]() |
2 | 28.57% |
Опрос с выбором нескольких вариантов ответа. Голосовавшие: 7. Вы ещё не голосовали в этом опросе |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 21.02.2010
Сообщений: 17
|
![]()
Доброго времени суток!
Сегодня столкнулся вот с такой проблемой: я разрабатываю библиотеку ActiveX на Delphi 2006 и мне необходимо обращаться к другим библиотекам ActiveX, написанных С++Builder. В одной из библиотек есть метод Get_Values(ID: Integer; var Values: Integer; var Count: Integer): HResult которые возвращает по указанному ID массив значение Values и количество значений Count. Я получаю количество значений, но какие бы "танцы с бубном" я бы не использовал - не могу получить массив((( Вот пример использования данной функции на C++, может кто подскажет как мне получить тоже самое, но в Delphi. Заранее спасибо))) long count = 0; GlobalFilter->get_values (0, NULL, &count ); long * values = ( count == 0 ) ? NULL : new long [ count ]; if ( values != NULL ) GlobalFilter->get_values (0, values, &count ); |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 02.01.2010
Сообщений: 254
|
![]()
Вот то же самое на делфи:
Код:
|
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 21.02.2010
Сообщений: 17
|
![]()
Все бы хорошо, НО...
1. Второй параметр имеет описание VAR; 2. Второй параметр объявлен как Integer. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 02.01.2010
Сообщений: 254
|
![]()
Хм, не понял - и в чём проблема?
UPDATE: Я перепутал второй и третий параметры, теперь понял в чём вопрос ![]() Последний раз редактировалось maxionans; 21.02.2010 в 22:14. |
![]() |
![]() |
![]() |
#5 |
Новичок
Джуниор
Регистрация: 21.02.2010
Сообщений: 17
|
![]()
В самом методе? Этот метод импортирован из ocx-файла...
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 02.01.2010
Сообщений: 254
|
![]()
Технически передача массива через такой параметр возможна, но само объявление вводит в заблуждение, поэтому лучше заменить на PInteger. А то, что так было импортировно из OCX, это никакой не показатель - импортирование-то автоматическое, а значит не учитывает контекст применения кода.
|
![]() |
![]() |
![]() |
#7 |
Новичок
Джуниор
Регистрация: 21.02.2010
Сообщений: 17
|
![]()
Не помогло(((
Все равно возвращется 0, либо то, что я указал до вызова этого метода((( |
![]() |
![]() |
![]() |
#8 |
Новичок
Джуниор
Регистрация: 21.02.2010
Сообщений: 17
|
![]()
у меня в свое время была проблема с параметром buf: byte, который по идее должен возвращать строку.
она решилась через... buf: pchar и его передачу как byte(buf^)....может и здесь что-то аналогичное, вот что именно никак не соображу... |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 02.01.2010
Сообщений: 254
|
![]()
Очевидно, ошибка не в этом коде. Может быть GlobalFilter нужно как-то инициализировать перед использованием или что-то в этом роде?
|
![]() |
![]() |
![]() |
#10 |
Новичок
Джуниор
Регистрация: 21.02.2010
Сообщений: 17
|
![]()
другие методы работаеют без проблем,
а инициализация происходит как GlobalFilter.Connect тем более другие значения то возвращаются, и в коде на с++ все работает... |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание\использование своих DLL библиотек | Vol666 | Общие вопросы Delphi | 5 | 26.08.2009 11:55 |
использование в delphi com объектов | Anekdot | Помощь студентам | 0 | 18.06.2009 19:54 |
Использование JavaScript в Delphi... | Valdis | Общие вопросы Delphi | 2 | 27.09.2007 08:45 |
Использование JPEG в Delphi 7 | Aslan | Мультимедиа в Delphi | 11 | 02.08.2007 13:25 |
Использование функции Excel из Delphi | Геля | Общие вопросы Delphi | 3 | 07.06.2007 07:33 |