![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| ZBugz |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 636 Регистрация: 15.2.2006 Где: Москва Репутация: 6 Всего: 6 |
Хочу зарегистрировать dll в системе, а не пашет если dll x64
Тупо не срабатывает LoadLibrary, если dll компильнута на 64 бит...
Как быть ? |
||||
|
|||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
Это ж 32х битная версия регистратора, нет? Добавлено через 1 минуту и 27 секунд Ты хоть бы погуглил, а? Добавлено через 1 минуту и 55 секунд Первая ссылка, несколько секунд затрачено на поиск: http://social.msdn.microsoft.com/forums/en...3-20c63f71a2d8/
Добавлено через 2 минуты и 22 секунды http://support.microsoft.com/kb/282747 |
|||
|
||||
| ZBugz |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 636 Регистрация: 15.2.2006 Где: Москва Репутация: 6 Всего: 6 |
Да это тут причем, я говорю не пашет LoadLibraryW с dll x64 А regsvr32.exe в x64 windows он так и остался, только для x64 он в одной папке C:\Windows\System32\, а для x86 он в другой C:\Windows\SysWOW64\, а название файла такое же и осталось. Добавлено @ 16:49 Если dll x86 то все пашет. Это сообщение отредактировал(а) ZBugz - 14.10.2011, 16:50 |
||||
|
|||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
А ты уверен, что запускается именно из папки C:\Windows\SysWOW64\ ?
|
|||
|
||||
| ZBugz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 636 Регистрация: 15.2.2006 Где: Москва Репутация: 6 Всего: 6 |
Конечно, я просто еще функцию написал, которая выдает для x86 и x64 нужные файлы. Тут смотри, проблема то в этом aHandle := LoadLibrary(PChar(ocxPath)); У меня aHandle = 0, если dll компильнута под x64, ставлю еёже и x86 (тупо перекомпильнув под x86), она грузится и aHandle уже не равен 0. Т.е. тупо не срабатывает процедура LoadLibrary Так что мне до regsvr32.exe еще далеко Добавлено через 13 минут и 35 секунд Усе, проверил. Так как приложение x86 то и нефига не пашет :( Как быть ? Это сообщение отредактировал(а) ZBugz - 14.10.2011, 17:10 |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
Тебе ж ясно сказали что тридцатидвухбитную длл нельзя загрузить в шестидесятичетырехбитный процесс и наоборот.
а) использовать regsvr32 вместо загрузки длл в свой процесс б) для работы с шестидесятичетырехбитными дллками компилировать свой проект под х64 (используя дельфи ХЕ2) -------------------- Обижено школьников: 8 |
|||
|
||||
| ZBugz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 636 Регистрация: 15.2.2006 Где: Москва Репутация: 6 Всего: 6 |
Я пока выход только один нашел, сделал еще exe x64, консольный и там сделал ту функцию. Когда надо зарегить dll в системе, вызываю это exe, в который отдал все что касается x64.
Заодно все функции для x64 туда вынес |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
да зачем там вообще эта проверка? делай сразу ExecAndWait
-------------------- Обижено школьников: 8 |
|||
|
||||
| northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 8 Всего: 20 |
<offtop>
О как здорово было бы объединить "Исходники" с "Винградом", чтобы можно было бы видеть все ответы на одной странице! </offtop> P.S. Можно, конечно, объединить и с ДМ, но тут будет много возражений.
Это сообщение отредактировал(а) bems - 15.10.2011, 01:02 -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |