Functions from DLL

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
mark+
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 156
Зарегистрирован: 03.07.2003 (Чт) 0:04
Откуда: Kurgan

Functions from DLL

Сообщение mark+ » 01.09.2003 (Пн) 22:33

А можно ли из DLL библиотеки вытащить все ее функции с параметрами? Допустим у меня есть пара любопытных библиотек:
Unzip.dll
Unrar.dll
как-нибудь я смог бы вытащить из них их функции и использовать их в VB проекте? :?: :?: :?:

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 02.09.2003 (Вт) 9:15

Сейчас придет добрый moderator и скажет "Юзай ActiveXplorer" :)
Если библиотека является ActiveX, то можешь подключить ее через References и смотреть в браузере (по F2). Или мучаться с TypeLib :)
Lasciate ogni speranza, voi ch'entrate.

Георгий
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 126
Зарегистрирован: 08.08.2003 (Пт) 15:08
Откуда: Россия

Сообщение Георгий » 02.09.2003 (Вт) 9:29

Tdump из пакета Delphi делает подобные вещи
Origin - это что?

moderator
Модератор
Модератор
 
Сообщения: 1896
Зарегистрирован: 10.12.2001 (Пн) 18:11
Откуда: Украина, Харьков

Сообщение moderator » 02.09.2003 (Вт) 9:53

Юзай ActiveXplorer - http://www.bitshape.com

:wink:
Модератор
http://www.vbstreets.ru / moderator@vbstreets.ru

... Почетные награды: [*], [+], [!]. Все еще впереди...

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

Сообщение GSerg » 03.09.2003 (Ср) 6:59

Сагитировали-таки, качнул демку эту.

:evil: :evil: :evil: Нельзя же халтурить так при софтописательстве! :evil: :evil: :evil:

Сетапится, да, это оно умеет.
Потом грузит список абсолютно ненужных мне компонентов. Ну это ладно, можно проигнорить.
Я слайдер перетаскиваю - она список полностью обновляет!
Я правой по списку кнопкой кликаю - она список полностью обновляет!
Перетаскивать окно я не стал.
Кликнув правой кнопкой, запускаю какую-нить команду из появившегося меню - команда обламывается, потому что нельзя модальное окно отобразить, т.к. оно уже отображается! Имеется в виду, видимо, то самое окно, которое появляется при при правом клике и в котором написано "Ща обновим..." :evil:

Зырю фичи - pebrowser+tlbdoc не хуже. Более того, pebrowser даёт список функций, даже если нет tlb, а activexplorer посылает с формулировкой "нет tlb, пошёл вон"

Ессно, удаляю нафиг.
Так после удаления все библиотеки dll потеряли свой значок - шестерёнки, стали неизвестными файлами. Пришлось вручную восстанавливать. :evil: Нагло херить описалово файла можно только тогда, когда такое расширение в природе больше не встречается и принадлежит только твоей кульной проге. В остальных случаях люди пишут в реестр инфу о предыдущем владельце расширения, и при удалении её откатывают! :evil:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

moderator
Модератор
Модератор
 
Сообщения: 1896
Зарегистрирован: 10.12.2001 (Пн) 18:11
Откуда: Украина, Харьков

Сообщение moderator » 03.09.2003 (Ср) 22:48

По пунктам:

GSerg писал(а):Потом грузит список абсолютно ненужных мне компонентов. Ну это ладно, можно проигнорить.


"Ненужных компонентов" - а с чем Вы собираетесь работать в дальнейшем? Это системная тулза, а не утилитка для анализа одного-единственного файла. Или Вы это пишете по принципу "если бы этого списка не было, его стоило бы придумать"?

Я слайдер перетаскиваю - она список полностью обновляет!
Я правой по списку кнопкой кликаю - она список полностью обновляет!
Перетаскивать окно я не стал.


Должен констатировать, что вышесказанное - есть бред. Таких обновлений в программе нет в принципе и то, что Вы написали, я расцениваю как неудавшуюся шутку. Если же Вы настаиваете на том, что вышеуказанный факт имеет место - пожалуйста, я Вам дам специальный параметр командной строки, который создаст специальной .log-файл и мы посмотрим, действительно ли происходят такие обновления. ОК?

Кликнув правой кнопкой, запускаю какую-нить команду из появившегося меню - команда обламывается, потому что нельзя модальное окно отобразить, т.к. оно уже отображается! Имеется в виду, видимо, то самое окно, которое появляется при при правом клике и в котором написано "Ща обновим..." :evil:


Очень сумбурно, сорри. Можно по-пунктам написать, что Вы делали и как?

Зырю фичи - pebrowser+tlbdoc не хуже. Более того, pebrowser даёт список функций, даже если нет tlb, а activexplorer посылает с формулировкой "нет tlb, пошёл вон"


Никто и не говорит, что другие тулзы хуже. Слово "альтернатива" знакомо? Как насчет техподдержки от авторов pebrowser/tlbdoc?

Насчет "формулировки" - не надо преувеличивать, плиз.

Так после удаления все библиотеки dll потеряли свой значок - шестерёнки, стали неизвестными файлами. Пришлось вручную восстанавливать. :evil: Нагло херить описалово файла можно только тогда, когда такое расширение в природе больше не встречается и принадлежит только твоей кульной проге. В остальных случаях люди пишут в реестр инфу о предыдущем владельце расширения, и при удалении её откатывают! :evil:


Аналогично вышенаписанному. Вам показать скрипт инсталлятора, где эти действия описываются?
Модератор
http://www.vbstreets.ru / moderator@vbstreets.ru

... Почетные награды: [*], [+], [!]. Все еще впереди...

Taras2
Обычный пользователь
Обычный пользователь
 
Сообщения: 82
Зарегистрирован: 20.06.2003 (Пт) 12:13

Сообщение Taras2 » 04.09.2003 (Чт) 8:22

Из всего вышесказанного, можно сделать вывод, что модератор и есть автор данной программы.

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

Сообщение GSerg » 04.09.2003 (Чт) 11:19

Да, я настаиваю на том, что список компонентов обновляется полностью при перетаскивании того слайдера, который отделяет его от окна подробностей. При этом возникает табличка, типа ща обновим. Табличка быстро исчезает, однако это заметно и это раздражает.

Нет, я не могу утверждать, что на табличке написано "Ща обновим" или типа того. Я предположил это по логике происходящих событий а также потому, что список компонентов жутко мигает в результате нехилых операций по изменению его содержимого.

Да, я настаиваю на том, что при клике правой кнопкой мыши по списку компонентов наряду с появлением popup menu происходит полное обновление списка, с вызовом упомянутой таблички.

Да, я настаиваю на том, что если кликнуть по пункту вызыванного таким образом меню до того, как исчезнет упомянутая табличка (а это 2 секунды), то возникает окно ошибки, в котором программа извиняется за то, что глюканула, сообщает, что произошла ошибка "Невозможно отобразить модальное окно, поскольку оно уже отображается" (не дословно) и предлагает ввести описание действий, которые были предприняты непосредственно перед этим, дабы отправить багрепорт авторам.

Да, я настаиваю на том, что после корректного анинсталла программы файлы .dll потеряли свои значки, и что мне пришлось вручную редактировать реестр, а именно вернуть описание файла ("Компонент приложения"), значок ("c:\windows\system\shell32.dll,66") и связать ключ ".dll" с ключом "dllfile" посредством изменения default value ключа ".dll".


Я не наезжаю на авторов, независимо от того, находится ли moderator среди них. Я лишь описал свой опыт работы с этой прогой и свои ощущения от него. Мой выбор - pebrowse и tlbdoc.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

moderator
Модератор
Модератор
 
Сообщения: 1896
Зарегистрирован: 10.12.2001 (Пн) 18:11
Откуда: Украина, Харьков

Сообщение moderator » 04.09.2003 (Чт) 22:48

Taras2 писал(а):Из всего вышесказанного, можно сделать вывод, что модератор и есть автор данной программы.


Я этого, в общем-то и не скрывал :wink:

2GSerg:

Ваше право пользоваться тем, чем хотите. Не нравится программа - не пользуйтесь. Никто ведь не заставляет; попользовались - не понравилось, ну и ладно. Всем ведь не угодишь.

Просто у меня есть, кхм, некоторые сомнения. Вот например, про список - я Вам со всей ответственностью заявляю, что вышеописанного обновления списка в программе нет в принципе. Не обновляется он тогда вообще. Таблички разные при этом тоже не показываются.

Тоже самое касается и popmenu - там тоже нет никакой таблички. Ну и т.д.

Думаю, тут эта тема себя исчерпала, ОК?

Если же есть желание разобраться (в хорошем смысле этого слова, а не "по понятиям") в этом вопросе - напишите мне, пожалуйста, на мыло - moderator@vbstreets.ru
Модератор
http://www.vbstreets.ru / moderator@vbstreets.ru

... Почетные награды: [*], [+], [!]. Все еще впереди...

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

Сообщение GSerg » 05.09.2003 (Пт) 5:28

ОК.
Поюзал поподробнее, нашёл, в чём фишка.
Думаю, стоит частично извиниться, поэтому пишу сюда. Хотя только частично. :wink:

Я поймал наконец-то это появляющееся окно, и определил, когда и почему оно появляется.

Если сделать активным раздел "ActiveX" и выбрать вкладку "Component analysis" или "Function tree" из окна подробностей, то начинается БАГ. БАГ заключается в том, что производится полный повторный анализ выбранного в списке компонента при следующих действиях: перетаскивание сплиттера, изменение размера окна, сворачивание окна, разворачивание окна. Собственно, изменить размер окна и не удаётся, потому что выскакивающая табличка "Loading process... Analyzing library..." сбивает фокус.
Таким образом, изменения содержимого списка действительно не происходит, в чём и приношу свои извинения.

Что же касается выскакивания данной таблички при правом клике, то табличка действительно вызывается, но это правильно, поскольку в результате клика выбран новый компонент, и, таким образом нужно произвести его анализ. Приношу свои извинения и по этому пункту.

Однако, баг с popup действительно есть. Если кликнуть правой кнопкой по новому элементу, то сначала появится "Loading process... Analyzing library...", и сразу вслед за ней менюшка, причём появление менюшки замораживает процесс анализа, и если выбрать из менюшки пункт типа "Analyze", то будет ошибка 400 "Form already displayed; can't show modally", module "frmMain", procedure "m_cMenu_Context_Clilck", line 676. Этот баг возникает, если анализ занимает примернно секунду или больше, а если занимает меньше - то анализ успевает пройти до появления меню, и баг не возникает.

И реестр страдает при удалении. В описании ключа после удаления проги ".dll" написано "activexplorer_file", а в ключе "activexplorer_file" нет ничего, поэтому значки теряются, а винда называет его "Файл 'dll'". Действительно, восстанавливать приходится вручную.

Ну и новый баг - далеко не всегда прога закрывается по кресту. То есть она исчезает, но висит в памяти, и фиг достучишься до неё иначе как с трёх пальцев.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

moderator
Модератор
Модератор
 
Сообщения: 1896
Зарегистрирован: 10.12.2001 (Пн) 18:11
Откуда: Украина, Харьков

Сообщение moderator » 05.09.2003 (Пт) 10:09

ОК. Будем смотреть, разбираться и фиксить - с 15го числа, по моему приезду. Тогда и отвечу на этот пост подробно (в приват).
Модератор
http://www.vbstreets.ru / moderator@vbstreets.ru

... Почетные награды: [*], [+], [!]. Все еще впереди...

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

Сообщение GSerg » 23.09.2003 (Вт) 10:44

ААААААААААААА!!!!!

Ну ни фига себе!!!
Только сейчас заметил!

Эта софтина...
Которую я корректно деинсталлировал...
Утащила с собой всё что могла!

Где мой winsock?! Где он?! Когда я выбираю из списка компонентов Microsoft Winsock Control, что происходит? Появляется Microsoft Winsock Control? НЕТ! Появляется сообщение о том, что компонент c:\program files\activexplorer\mswinsck.ocx не существует! Спрашивается, какого рожна данная софтина залезла в этот список, переписала на себя винсок, а при удалении снесла его?!


Тихо плачу. :cry:
Дистрибутива нет.
Народ, вышлите ocx...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Шурик
Самогонщик
Самогонщик
Аватара пользователя
 
Сообщения: 1657
Зарегистрирован: 30.06.2003 (Пн) 13:27
Откуда: из запоя :))))) Матных сообщений: 972

Сообщение Шурик » 23.09.2003 (Вт) 10:57

Да уж........
Такой геморой свечей не стоит :D
Это не про Вас всех и даже не про прогу.
Это так сказать про весь этот разговор...

moderator
Модератор
Модератор
 
Сообщения: 1896
Зарегистрирован: 10.12.2001 (Пн) 18:11
Откуда: Украина, Харьков

Сообщение moderator » 24.09.2003 (Ср) 2:31

Значит так. Надоело мне читать это. Кто куда и кого, @#$#@, утянул? Никто никого просто так не утягивает. Этот файл помечен как shared и don't uninstall. Скрин я сейчас кину приватом. Так что удалить его могли либо Вы сами, либо Ваша Винда.
Модератор
http://www.vbstreets.ru / moderator@vbstreets.ru

... Почетные награды: [*], [+], [!]. Все еще впереди...


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

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

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 13

    TopList