Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C / C++

Выпуск № 320
от 02.08.2003, 20:00

Администратор:
Имя: Nick.Box
URL: Информационный ресурс
ICQ: 365124
[censored], [censored]
О рассылке:
Задано вопросов: 974
Отправлено ответов: 2184
Активность: 224.2 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Marouder
Статус: Опытный
Общий рейтинг: 138.23
URL: Первый Хабаровский Форум
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 108.08
[Подробней >>]
Avl2k
Статус: Профессиональный
Общий рейтинг: 124.88
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 966. Здравствуйте, уважаемые эксперты. Помогите решить одну проблему: мне нужно вызвать функцию InetIsOff... (ответов: 3)
Вопрос № 967. Народ короче налобал свой FlaSH ПЛЕЙЕР, теперь надо сделать такую фишку: чтобы файл *.swf в моем пл... (ответов: 1)

Вопросов: 2, ответов: 4


 Вопрос № 966

Здравствуйте, уважаемые эксперты.
Помогите решить одну проблему: мне нужно вызвать функцию InetIsOffline(она находится в библиотеке Windows url.dll), чтобы определить, подключен компьютер к сети или нет. В начале исходника определяю ее прототип. И кроме того, в параметрах линкера также указываю среди прочих библиотек импорта необходимую библиотеку url.lib. Вроде все правильно. Компиляция исходника проходит нормально, а вот при компоновке я получаю ошибку
Linking...
Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib url.lib odbc32.lib odbccp32.lib /subsystem:windows /incremental:no "/pdb:Release/Example.pdb" /machine:I386 "/out:Release/Example.ex
e"
.ReleaseEXAMPLE.OBJ
EXAMPLE.OBJ : error LNK2001: unresolved external symbol "int __cdecl InetIsOffline(unsigned long)" (?InetIsOffline@@YAHK@Z)
Release/Example.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Почему линкер не хочет создавать EXE-файл? Я смотрел MSDN, там написано, что это может происходить при линковке отладочной версии проекта с релизными библиотеками. Я поменял тип проекта с Debug на Release и перекомпилил. Никакого результата, опять эта же ошибка при линковке.
В общем, я ниже прилагаю исходник, скажите плиз, что надо подправить, чтобы прога заработала. А если дело не в исходнике, то подскажите, какие параметры компилятора или линкера надо изменить, чтобы заработало.
P.S. И еще одна просьба. Если у кого есть Приложения А и Б, Рихтер, 4-е издание Windows для профессионалов, плиз скиньте на мыло vink2002@pisem.net не могу найти в инете эти приложения. Скачал в архиве Рихтера, а там только 27 глав, а Приложения А и Б отсутствуют почему то, а без них примеры не компилируются.
С уважением, Владимир.


Приложение:


Вопрос отправлен: 29.07.2003, 20:21
Отправитель: Vladimir

[Следующий вопрос >>] [Список вопросов]

Отвечает Marouder

Доброе время суток, Vladimir!
1. Попробуй использовать функцию IntenetGetConnectedState из Wininet.
2. Еще можно не использовать импорт:
FARPROC iio=GetProcAddress(LoadLibrary("url.dll"),"InetIsOffline");
if (((BOOL (__stdcall*)(DWORD))iio)(0))
MessageBox(NULL, "Computer is offline", "", MB_OK);
3. Полный Рихтер есть на http://anatolix.naumen.ru/

Ответ отправлен: 30.07.2003, 03:53
Отправитель: Marouder


Отвечает vitya

Здравствуйте, Vladimir!
1. предлагаю объявить эту функцию, как extern
2. предлагаю использовать LoadLibraty + GetProcAddress

Ответ отправлен: 30.07.2003, 09:01
Отправитель: vitya


Отвечает Avl2k

Здравствуйте, Vladimir!
Не надо определять прототипы для функций, экспортируемых из dll'лек Windows, для этого уже есть стандартные .h-файлы (если Вы посмотрите, то там прописаны необходимые спецификации еxtern "C", __stdcall и др.). Для InetIsOffline включите intshcut.h, укажите линкеру линковаться с url.lib и все должно быть в порядке.
С уважением, Avl2k.

Ответ отправлен: 30.07.2003, 16:59
Отправитель: Avl2k


 Вопрос № 967

Народ короче налобал свой FlaSH ПЛЕЙЕР, теперь надо сделать такую фишку:
чтобы файл *.swf в моем плейере МОНА было сохранять как *.exe ,т.е. *.swf +мой плейер. В общем как в стандартном Макромедиавском плейере (Опция Create Projedt),после чего *.swf становится *.exe.


Приложение:


Вопрос отправлен: 29.07.2003, 20:36
Отправитель: Kirya

[Следующий вопрос >>] [Список вопросов]

Отвечает Avl2k

Здравствуйте, Kirya!
Проще всего было бы просто взять готовый exe части Вашего плеера и положить .swf как бинарные данные в его ресурсы ф-цией UpdateResource. Проблема в том, что UpdateResource не поддерживется на платформах 95/98/Me :( Таким образом, Вам остается только учить формат PE и делать все ручками...
С уважением, Avl2k.

Ответ отправлен: 30.07.2003, 17:09
Отправитель: Avl2k



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (34)
C / C++ (24)
Perl (3)
Builder / Delphi (20)
Pascal (23)
Basic / VBA (12)
Java / JavaScript (10)
PHP (9)
Криптография (8)
WinAPI (14)
Пользователю
Windows 95/98/Me (47)
Windows NT/2000/XP (47)
"Железо" (39)
Поиск информации (26)
Администратору
Windows NT/2000/XP (25)
Linux / Unix (11)
Юристу
Гражданское право (10)
Семейное право (6)
Трудовое право (7)
КоАП (5)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное