View previous topic :: View next topic |
Author |
Message |
Hram
Joined: 19 May 2005 Posts: 113 Location: Питер
|
(Separately) Posted: Thu Oct 25, 2007 22:24 Post subject: |
|
|
Просто у меня есть подозрение, что дело не в ТС и не в плагине
Опыт подсказывает, что проблема гдето на поверхности, но мы не там смотрим. |
|
Back to top |
|
|
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Thu Oct 25, 2007 23:40 Post subject: |
|
|
Hram wrote: | Просто у меня есть подозрение, что дело не в ТС и не в плагине | А в чем? Хардвер отметаем, так? Тогда остается только Windows. Ты предлагаешь обратиться к Билли?
Hram wrote: | Опыт подсказывает, что проблема гдето на поверхности, но мы не там смотрим. | А опыт не подсказывает куда надо смотреть? |
|
Back to top |
|
|
D1P
Joined: 20 Dec 2004 Posts: 2973 Location: Тбилиси
|
(Separately) Posted: Wed Nov 14, 2007 02:42 Post subject: |
|
|
Решение было найдено? Стал добавлять функцию в свой плагин, тоже наткнулся на эту бяку. Функция не вызывается.
Стоит Windows 2003 Enterprise. Delphi 7. Топик на оффоруме прочёл, там ничего полезного нет. _________________ База знаний о Total Commander
Блог |
|
Back to top |
|
|
Hram
Joined: 19 May 2005 Posts: 113 Location: Питер
|
(Separately) Posted: Wed Nov 14, 2007 08:44 Post subject: |
|
|
Решение одно - ждать когда Гислер исправит баг. |
|
Back to top |
|
|
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Wed Nov 14, 2007 11:02 Post subject: |
|
|
Гислер пока даже не подтвердил, что может воспроизвести этот баг. А пока не воспроизведет чинить, естессно, не будет. D1P, ты бы отметился на оффоруме тоже. Может, с увеличением числа плакальщиков Гислер активизируется. |
|
Back to top |
|
|
D1P
Joined: 20 Dec 2004 Posts: 2973 Location: Тбилиси
|
|
Back to top |
|
|
D1P
Joined: 20 Dec 2004 Posts: 2973 Location: Тбилиси
|
(Separately) Posted: Wed Nov 14, 2007 15:44 Post subject: |
|
|
Стал экспериментировать. Заменил в подопытном плагине описание функции с
Code: | function FsGetPreviewBitmap(RemoteName:pchar;width,height:integer; var ReturnedBitmap:HBitmap):integer; stdcall; |
на
Code: | function FsGetPreviewBitmap(RemoteName:pchar;width,height:integer):integer; stdcall; |
и функция стала находиться. Предварительный вывод: что-то не так с функциями, в которые параметры передаются по ссылке. _________________ База знаний о Total Commander
Блог |
|
Back to top |
|
|
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Wed Nov 14, 2007 17:36 Post subject: |
|
|
D1P wrote: | оказалось, что она попросту не находится. | Странно, у меня находится. И твоя программа на моих компах прекрасно работает. Написал свою на С++, тоже все находит.
D1P wrote: | Предварительный вывод: что-то не так с функциями, в которые параметры передаются по ссылке. | Ну не знаю, как в дельфях, но на С++ первый параметр (RemoteName) тоже является ссылкой.
Выложи куда-нить плагин, в котором GetProcAddress не может найти FsGetPreviewBitmap. Хочется глянуть своими средствами. |
|
Back to top |
|
|
D1P
Joined: 20 Dec 2004 Posts: 2973 Location: Тбилиси
|
(Separately) Posted: Wed Nov 14, 2007 23:00 Post subject: |
|
|
VadiMGP wrote: | Ну не знаю, как в дельфях, но на С++ первый параметр (RemoteName) тоже является ссылкой. |
В дельфях тоже. Вернее, это указатель, в принципе монопенисуально, что так, что эдак (через var)). Но HBitmap - это LongWord, посему его только через VAR и можно предать. Если я, в порядке эксперимента, var в отладчике убираю - функция видится. VadiMGP wrote: | Выложи куда-нить плагин, в котором GetProcAddress не может найти FsGetPreviewBitmap. Хочется глянуть своими средствами. |
http://super.wincmd.ru/twinamp3/TWinamp3_FGPBT.rar
Исходники и бинарник внутри. _________________ База знаний о Total Commander
Блог |
|
Back to top |
|
|
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Thu Nov 15, 2007 00:19 Post subject: |
|
|
Архив битый. Дважды скачивал, но wfx извлечь не могу. |
|
Back to top |
|
|
D1P
Joined: 20 Dec 2004 Posts: 2973 Location: Тбилиси
|
|
Back to top |
|
|
D1P
Joined: 20 Dec 2004 Posts: 2973 Location: Тбилиси
|
(Separately) Posted: Thu Nov 15, 2007 12:39 Post subject: |
|
|
Сейчас попробовал тот же код на работе (Delphi 7, XP SP2) - всё заработало...
Попозже, как разгребу основную работу, поэкспериментирую ещё. _________________ База знаний о Total Commander
Блог |
|
Back to top |
|
|
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Thu Nov 15, 2007 12:49 Post subject: |
|
|
D1P
Проверил на ХР и 2000. Нулевой результат, все работает. И твоя и моя тестовые программы нормально находят FsGetPreviewBitmap в твоем плагине. Имена экспортированы "чистые", недекорированные, то есть, по идее, параметры никак не должны влиять.
Больше никаких идей нету. |
|
Back to top |
|
|
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Thu Nov 15, 2007 12:53 Post subject: |
|
|
D1P
Кстати, а что у тебя возвращает GetLastError когда GetProcAddress не находит функцию? |
|
Back to top |
|
|
D1P
Joined: 20 Dec 2004 Posts: 2973 Location: Тбилиси
|
(Separately) Posted: Thu Nov 15, 2007 14:38 Post subject: |
|
|
VadiMGP wrote: | Кстати, а что у тебя возвращает GetLastError когда GetProcAddress не находит функцию? |
Доберусь домой - посмотрю.
В любом случае, теперь я смогу нормально реализовать и отладить функцию, а будет она или не будет вызываться - уже не мои грехи. Я, честно говоря, не знаю, есть ли FS-плагины уже реализовавшие эту возможность... Видимо их нет, потому что наверняка бы были багрепорты от пользователей, у которых функция бы не работала.
Так что мой плагин рискует тут стать первым =) _________________ База знаний о Total Commander
Блог |
|
Back to top |
|
|
|