|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
переменная типа THandle
Необходимо досконально разобраться в коде (уже жалею, что подписалась на эту работу )
Вот кусочек кода Код:
var DllHandle: THandle; ... DllHandle := LoadLibrary('ITLSSPProc.dll'); if DllHandle>=32 then begin ... end вопрос: в переменной загружена библиотека (внутренности которой, кстати, тоже вызывают бурю негодования), как можно эту переменную сравнить с числом? Пробовала написать так для эксперимента: Код:
var DllHandle: THandle; ... DllHandle := 32; if DllHandle>=32 then begin ... end а вот нифига) Всё будет правильно Последний раз редактировалось sova_bos, 23.04.2013 в 15:43. |
#2
|
||||
|
||||
Код:
var DllHandle: HMODULE; begin DllHandle:=LoadLibrary('xxx'); if DllHandle<>0 then begin end; end; Пишу программы за еду. __________________ |
#3
|
||||
|
||||
MSDN советует еще проверять GetLastError <> ERROR_SUCCESS для получения детальных подробностей.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#4
|
|||
|
|||
да оно и в таком виде работает
Код:
var DllHandle: THandle; ... DllHandle := LoadLibrary('ITLSSPProc.dll'); if DllHandle>=32 then begin ... end Всё будет правильно |
#5
|
||||
|
||||
Ну потому, что указатель - это число.
Читай MSDN. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение: | ||
sova_bos (23.04.2013)
|
#6
|
|||
|
|||
Handle - это уникальный идентификатор, который представляет собой целое 32-х битное (4-х байтное) число. Handle позволяет обращаться к чему-либо в системе не по имени (или еще чему там можно придумать), а по соответствующему уникальному идентификатору. Например каждый элемент окна имеет свой handle. Все значения идентификаторов разные, т.е. уникальные. Если есть два одинаковых окна, то элементы этих окон все равно будут иметь разные идентификаторы. Понятие handle используется не только для идентификации элементов окна, но и например для файлов, процессов, потоков (threads) и т.д. На самом деле ОС работает с файлами, процессами, потоками (threads) не по их имени, а по их идентификатору.
Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
Этот пользователь сказал Спасибо Black Raider за это полезное сообщение: | ||
sova_bos (23.04.2013)
|
#7
|
|||
|
|||
Всем большое спасибо =)
Всё будет правильно |
#8
|
|||
|
|||
Хочу еще поразмышлять по поводу этого кода. Автор, к сожалению для меня недоступен, но вот интересно же, зачем сравнивать DllHandle с 32? сколько я не тестила, значение всегда какое-то 8-ми значное число, при чем результаты иногда повторяются... поставила в условии 1000, все работает так же
Всё будет правильно |
#9
|
||||
|
||||
Цитата:
Цитата:
указанные значения являются константами Понять, что хочет заказчик - бесценно, ведь он платит MasterCard |
#10
|
|||
|
|||
32 - это пережиток 16-разрядных систем.
Теперь, в случае ошибки, функция возвращает 0, а признак ошибки нужно проверять GetLastError. |
#11
|
||||
|
||||
LoadLibrary какбе возвращает адрес, по которому была загружена дллка.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#12
|
||||
|
||||
Цитата:
Цитата:
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#13
|
||||
|
||||
Дак а если сходить по этому адресочку?
Я ходил, там сигнатура MZ и PE заголовок. Вот пруфы: hDll := LoadLibrary('мая длл'); Значение: Дамп: — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию Последний раз редактировалось M.A.D.M.A.N., 23.04.2013 в 18:06. |
#14
|
||||
|
||||
Цитата:
jmp $ ; Happy End! The Cake Is A Lie. |
#15
|
||||
|
||||
Цитата:
Цитата:
Пишу программы за еду. __________________ |