MDM |
Отправлено: 21.06.2004, 14:15 |
|
Не зарегистрирован
|
Создаю пакет, подключаю urlmon.lib (IsValidURL и т. д.), при компиляции BCB просит (настаивает) выкинуть его мотивируя тем, что "данный модуль уже содержится в vcl50.lib". Естественно linker говорит: — "не разрешенная внешняя ссылка IsValidURL".
Как быть?
(Одна белая в черный горох, другая черная в белый...) |
|
olegenty |
Отправлено: 22.06.2004, 06:52 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
дизайнер иногда сам не знает, чего хочет. принудительно надо зацепить vcl50.bpl, как Required, а все ссылки на urlmon.lib вытереть из *.bpk руками.
|
|
olegenty |
Отправлено: 22.06.2004, 06:53 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
да, и после этого действа надо делать Build
|
|
MDM |
Отправлено: 22.06.2004, 09:15 |
|
Не зарегистрирован
|
QUOTE | принудительно надо зацепить vcl50.bpl |
vcl50.bpl (прим. vcl50.bpi) на месте...
QUOTE | а все ссылки на urlmon.lib вытереть из *.bpk руками |
Зачем вытереть?
1. Я же говорю он сам их перед компиляцией выкидывает:
- "Remove urlmon.
Unit(s) urlmon were found in required package vcl50."
2. Разрешать ссылки на ф-ии из urlmon тоже как-то надо.
Пробовал и в блокноте *.bpk править и в Contains подключать urlmon.lib(urlmon.pas) и USELIB() них... не помогает???
|
|
AVC |
Отправлено: 22.06.2004, 10:15 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
У меня так работает
CODE |
#include <urlmon.hpp>
#pragma link "urlmon.lib"
void __fastcall TForm1::BitBtn3Click(TObject *Sender)
{
HRESULT hr = IsValidURL(NULL, L"http:\\www.cbuilder.ru", 0);
AnsiString str;
if (hr == S_OK) str = "Ok";
else if (hr == S_FALSE) str = "S_FALSE";
else str = "E_INVALIDARG";
ShowMessage(str + " (" + int(hr) + ")");
}
|
Путь к библиотеке прописан в параметрах проекта. Vcl50 — run time package
|
|
olegenty |
Отправлено: 22.06.2004, 10:58 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
да он некорректно это делает, не всё вытирает. я и говорю — руками вытри. у меня уже пару десятков раз такое бывало. ручная правка *.bpk приводила всё в порядок.
|
|
MDM |
Отправлено: 22.06.2004, 11:17 |
|
Не зарегистрирован
|
QUOTE (AVC @ 22/06/2004, 11:17) | #pragma link "urlmon.lib"
Путь к библиотеке прописан в параметрах проекта. Vcl50 — run time package |
Так тоже делал. Пакет собирается, но при компиляции проекта с этим компонентом таже фигня(неразрешенная внешняя ссылка). |
|
AVC |
Отправлено: 22.06.2004, 12:01 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Проверьте, какие rtbpl'и использует пакет, exe и остальные пакеты. Они должны соответствовать друг другу. Иногда лишние прописываются в bpk как говорил olegenty. Был случай, кода мне приходилось каждый раз отказываться оп предложения Builder'а добавить пакеты в rtbpl — только ы этом случае приложение работало. Еще поэкспериментирую — напишу, что получилось.
Отредактировано AVC — 22/06/2004, 13:24 |
|
AVC |
Отправлено: 22.06.2004, 13:21 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Если все делать аккуратно, то все работает правильно. Да, кстати, и я и olegenty забыли упомянуть, что чиcтить bpk нужно ОБЯЗАТЕЛЬНО при не активном Buildere (по крайней мере для 5).
Вот выкладываю полный текст работающего примера и exe'шник с ним.
|
|
MDM |
Отправлено: 23.06.2004, 08:55 |
|
Не зарегистрирован
|
QUOTE | ...Да, кстати, и я и olegenty забыли упомянуть, что чиcтить bpk нужно ОБЯЗАТЕЛЬНО при не активном Buildere (по крайней мере для 5). |
В общем Я так делаю всегда, но ... именно в этот раз нифига не получается.
QUOTE | Вот выкладываю полный текст работающего примера и exe'шник с ним. |
За пример спасибо.
Теперь понял, что Я не сказал самого главного — компонент, который пытаюсь установить, на PASCAL. Пробовал добавить к *.bpk пустой unit и туда впердолить #pragma link "urlmon.lib" — компонент устанавливается, но при сборке приложения с ним опять "неразрешенная внешняя ссылка".
|
|
AVC |
Отправлено: 23.06.2004, 09:01 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Можете послать мне компонент и пример его использования. По возможности повожусь с ним. |
|
MDM |
Отправлено: 23.06.2004, 09:21 |
|
Не зарегистрирован
|
QUOTE (AVC @ 23/06/2004, 10:03) | Можете послать мне компонент и пример его использования. По возможности повожусь с ним. |
Я не тормоз, но не могу разобраться как в пост вставить файл (... а еще пакет собрать пытаюсь!).
Вот ссылка на компонент http://www.euromind.com/iedelphi/iedownload.htm. |
|
AVC |
Отправлено: 23.06.2004, 09:34 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
QUOTE | как в пост вставить файл |
Зарегистрироваться и все проблемы решаться сами собой.
|
|