Вопрос № 29822: Здраствуйте! Спасибо за столь быстрый ответ на вопрос 29807. Мне действительно надо его уточнить. Я хочу динамически загружать любую API-функцию, независимо объявленна ли она в WinProc. Информация, которую я нашел, обрывочна. Программка в приложении ...
Вопрос № 29.822
Здраствуйте! Спасибо за столь быстрый ответ на вопрос 29807. Мне действительно надо его уточнить. Я хочу динамически загружать любую API-функцию, независимо объявленна ли она в WinProc. Информация, которую я нашел, обрывочна. Программка в приложении выдает ошибку: Runtime error 216 at 0001:004A. Компилировал и под виндоус, и в защищенном режиме. WinXP без SP, BP 7.0.
Может быть я вообще все неправиль делаю?
Приложение:
Отправлен: 19.11.2005, 20:01
Вопрос задал: NLeo (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: sir henry
Здравствуйте, NLeo!
В приложении я Вам привел несколько переделаную Вашу программу, чтобы Вы сразу поняли, где у Вас затык. Со своей стороны хочу сказать, что проверки на правильность занрузки модулей и получения адресов нужно ставить В ОБЯЗАТЕЛЬНОМ ПРЯДКЕ.
В чем проблема я сказать не могу, скорее всего в том что у Вас ВР 16-ти разрядный, а сама функция 32-ух разрядная.
Еще один нюанс. Вы описали прототип функции InternetGetConnectedState с тремя параметрами, а у нее всего два параметра, типы которых отличаются от LongWord. Первый параметр - указатель на DWORD, а второй - собственно DWORD. LongInt от DWORD отличается наличием знака и наибольшее значение его в два раза меньше чем у DWORD. Ну а с указателем, я думаю, Вам объяснять не надо в чем разница.
----------------------------
Немного не в тему, но у меня вопрос - а Вы, случаем, не мазохист? :)
Я когда поставил себе BPW, чтобы проверить Вашу программу, у меня такой тормозун в системе начался, что я по три раза выспаться успевал, пока получал какой-то результат, например банальная смена каталога в проводнике.
Поставьте себе FreePascal. Это аналог BorlandPascal, только написан специально с учетом 32-х разрядных систем и работает под виндой без сучка и задоринки. По крайней мере у меня сильных претензий к нему нет. Сайт программы:
www.freepascal.org
Для программирования под винду (как в Вашем случае) Вам надо скачать IDE для винды, чтобы не было проблем с русскими кодировками. Вот сайт где она лежит:
www.bloodshed.net/devpascal.html
Приложение:
Ответ отправил: sir henry (статус: Академик)
Отправлен: 20.11.2005, 08:11 Оценка за ответ: 5