Помогите задекларить!

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
paz
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 04.02.2005 (Пт) 7:44

Помогите задекларить!

Сообщение paz » 04.02.2005 (Пт) 7:49

С VB6 сталкивался не часто и вот напоролся на то что не пойму как задекларить функцию из query.dll

Код: Выделить всё
STDAPI LoadIFilter( WCHAR const * pwcsPath,
                    IUnknown *    pUnkOuter, // на этот параметр пофигу он всегда NULL
                    void **       ppIUnk ); // это возвращаемая ссылка на созданный объект


попробовал вот так

Код: Выделить всё
Public Declare Function LoadIFilter Lib "query.dll" ( _
                    ByVal pwcsPath As String, _
                    ByRef pUnkOuter As Long, _
                    ByRef ppIUnk As Long) As Long


но функция вощвращает E_FAIL хотя аналогичто на с++ работает.
Скорее всего я неправильно задекларил строки или на указатели

Хелп ми плиз, ОЧЕНЬ НАДА! :(

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.02.2005 (Пт) 9:38

Дежавю, блин :)
Только недавно видел заказ на RAC, где нужно было сделать именно это. Вы, товарищ, случаем не оттуда? :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

paz
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 04.02.2005 (Пт) 7:44

Сообщение paz » 04.02.2005 (Пт) 9:54

Дежавю дежавой... ;)

Подсказать сможете в чем косяк может быть?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.02.2005 (Пт) 9:58

А как насчёт... не помню точно... что-то типа If you'd like to purchase work, you can request some part of you funds to be transferred to your buyer's account с последующим посылом бонуса, раз такое дело? :)


ЗЫ: задеклэрил и правда не так :)
ЗЗЫ: дай линк на профиль :P
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

paz
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 04.02.2005 (Пт) 7:44

Сообщение paz » 04.02.2005 (Пт) 10:13

GSerg писал(а):А как насчёт... не помню точно... что-то типа If you'd like to purchase work, you can request some part of you funds to be transferred to your buyer's account с последующим посылом бонуса, раз такое дело? :)
ЗЫ: задеклэрил и правда не так :)


Ээх... :? Как же мне тебя не хватает РСДН

Яж тебе те тупой буржуин которому лень возится и дешевле 50 грин дать

что там со полсотни пурчайзить мэн. :roll: ?

Но всетки... чеж я неправильно то сделал? :wink:

ЗЫ А вы батеньта то же оттудова?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.02.2005 (Пт) 10:19

Ну а дык же!
Линк на профиль давай :)


Ошибка в декларации номер 1.
WCHAR следует объявлять как long, а передать strptr(str).
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

paz
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 04.02.2005 (Пт) 7:44

Сообщение paz » 04.02.2005 (Пт) 10:27

Спасибо добрый Шаман!

Ошибка номер 2 существует?

А линк Вам зачем?

Кстати, маленький неккорректный вопрос - это ваше основное занятие или ночной калым? Мы просто этим не очень давно занимаемся и интересно как живется ракушкам

paz
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 04.02.2005 (Пт) 7:44

Сообщение paz » 04.02.2005 (Пт) 10:29

Вах Вах! Заработала!

Осталось теперь объект из ссылки выкачать! Ой спасиба большое пребольшое!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.02.2005 (Пт) 10:30

Как зачем? Любопытный я, за прогрессом наших RAC-овцев слежу :)
Занятие вроде как основное :) А почему ракушки?

А остальные ошибки... А это уже зависит от того, как вызывать :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.02.2005 (Пт) 10:31

А что значит - выкачать объект из ссылки? :)
Объект уже даден по указателю, он уже есть и с ним уже можно работать :)
Другое дело, что он не поддерживает IDispatch, и потому придётся страдать фигнёй одним из двух способов :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

paz
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 04.02.2005 (Пт) 7:44

Сообщение paz » 04.02.2005 (Пт) 10:37

GSerg писал(а):Как зачем? Любопытный я, за прогрессом наших RAC-овцев слежу :)
Занятие вроде как основное :) А почему ракушки?

А остальные ошибки... А это уже зависит от того, как вызывать :)


ну РАКовцы. :)

ну мы не ПСергей конечно. 1600 какое то там место. Пока что лохи :))))

Просто в силу моего географического местоположения выходит так что это место за 2 недели дает теже кэцэ что месячное просижывание штанов в софтверной конторе :(

А линк Вам дам когда на 100 месте будем :))) Пойдет?

ЗЫ Вы то сами на каком месте будете?

paz
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 04.02.2005 (Пт) 7:44

Сообщение paz » 04.02.2005 (Пт) 10:39

Один из способов я как понимаю описан в статье на этом сайте, там чтото надо подсчитатывать номера методов.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.02.2005 (Пт) 10:42

А линк ведь не дал, чё за конспирация, я не понимаю? Вычислю ведь всё равно, когда проект закончишь, по записи в профиле :)

Моё место на данный момент 945 :)
Последний раз редактировалось GSerg 04.02.2005 (Пт) 10:46, всего редактировалось 1 раз.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.02.2005 (Пт) 10:43

Один из способов я как понимаю описан в статье на этом сайте, там чтото надо подсчитатывать номера методов.

А автор статьи по-твоему кто? :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

paz
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 04.02.2005 (Пт) 7:44

Сообщение paz » 04.02.2005 (Пт) 10:51

Ой! САМ. (падаю ниц)

Прости хозяин ВЕЛИКОГО БУБЕНА что не признал. :)

Ну чтож придется покривляться, кастомер все равно в Швейцарию уехал на уикенд и неделю меня тревожить не будет :)

ЗЫ на ренте мы AtiX зовемся

ЗЫ а как ваше рента-имя?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.02.2005 (Пт) 10:59

:lol: Эх, жалко Тёмыча нет :)

Наше имя в (а)рен(д,т)у не сдаётся! :)
Зато такое же :)

Хммм, Красноярск... Недалеко :)
Хммм! Многие проекты попадают в область моих интересов! :)

Ну чтож придется покривляться

Дык я ж говорю - есть два способа. Мой универсален и работает в том числе с не-COM фейсами. А Тёмыч резонно предлагает второй способ, который в вашем случае удобнее :)
Ынтересно? :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

paz
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 04.02.2005 (Пт) 7:44

Сообщение paz » 04.02.2005 (Пт) 11:16

Многие проекты может и попадают в область ваших интересов но не как не моих. Приходится заниматься. Был аккаунт но завалился арбитражем. МЫ больше по .NET но старых кастомеров не стало а новые пока не появились.

Наше имя в (а)рен(д,т)у не сдаётся!


Я с похмелья - ребус не разгадал :) Скажи по человечески, интересно ведь.

Дык я ж говорю - есть два способа. Мой универсален и работает в том числе с не-COM фейсами. А Тёмыч резонно предлагает второй способ, который в вашем случае удобнее icon_smile.gif
Ынтересно?


Спрашиваешь! ;)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.02.2005 (Пт) 11:24

paz писал(а):Я с похмелья - ребус не разгадал :) Скажи по человечески, интересно ведь.

Ну просто это реакция на "имя на ренте" :) Глубинного смысла нет :)
Что тут GSerg, что там :)

paz писал(а):Спрашиваешь! ;)

Ну вот, теперь ещё и за Тёмыча вещать :)

В общем, берём описание интерфейса, переводим его на язык IDL, компилируем через mktyplib.exe, получаем tlb. Эту tlb референсим в VB, тем самым получаем возможность работать с интерфейсом напрямую, без всяких переходников, да ещё и выпадающие подсказки будут :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

paz
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 04.02.2005 (Пт) 7:44

Сообщение paz » 04.02.2005 (Пт) 11:44

Спасибо большое.

ЗЫ. Магадан от Красноярска это километров 2000 :). не так уж близко. :)

Ну я твое screen-name получил. Как выполню проект с меня бонус на пиво :))).

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.02.2005 (Пт) 11:48

Дык что его получать, имя-то? :) :lol:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

paz
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 04.02.2005 (Пт) 7:44

Сообщение paz » 04.02.2005 (Пт) 11:54

Дык что его получать, имя-то?

ну может ты по другому там себя бы обозвал. :)

Ну ладненько... Последний вопрос. Можно ли из хидер файла получить обратно IDL типа MIDL наоборот?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.02.2005 (Пт) 12:02

Посколько я страдал этой фигнёй только в академических целях, то я не знаю ответа на твой вопрос :)

Хм, а гугл знает?..
Наверное, всё-таки знает, хотя я и не вижу этого :)

Да там пять методов, в этом IFilter, сам быстрее справишься :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

paz
Новичок
Новичок
 
Сообщения: 27
Зарегистрирован: 04.02.2005 (Пт) 7:44

Сообщение paz » 04.02.2005 (Пт) 12:23

Справлюсь конечно. :)

Еще раз большое спасибо.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 177

    TopList