Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не понимаю, как подключить библиотеку в билдеру 
:(
    Опции темы
dezhik
Дата 5.4.2011, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 28.3.2011

Репутация: нет
Всего: нет



Всем привет!

Помогите пожалуйста.
Есть такой код:
Код

//---------------------------------------------------------------------------
#include <vcl.h>

#include <vfw.h>
#include <Windows.h>
#include <Clipbrd.hpp>

#pragma hdrstop


#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
        hWndC = capCreateCaptureWindow ( "",
                WS_CHILD,
                this->Image1->Left,this->Image1->Top,
                this->Image1->Width,this->Image1->Height,
                this->Handle,11011);
        capDriverConnect (hWndC, 0);
        Timer1->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
        TClipboard *pCB = Clipboard ();
        capGrabFrame(hWndC);
        if(capEditCopy(hWndC))
                Image1->Picture->LoadFromClipboardFormat(CF_BITMAP,
                        pCB->GetAsHandle(CF_BITMAP), 0);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
        capDriverDisconnect(hWndC);
}
//---------------------------------------------------------------------------
 

К проекту подключены библиотеки vfw32.lib и winmm.lib.
Запускаю на исполнение, ругается, говорит "Приложения не удалось запуститься, поскольку vfw32.dll не был найден. Помогите, не понимаю, в чем проблема.
PM MAIL   Вверх
volatile
Дата 5.4.2011, 00:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 3
Всего: 85



Цитата(dezhik @  5.4.2011,  00:24 Найти цитируемый пост)
Не понимаю, как подключить библиотеку в билдеру 

По-моему библиотеку вы подключили, раз оно скомпилировалось.
осталось только vfw32.dll положить рядом с программой.
PM MAIL   Вверх
borisbn
Дата 5.4.2011, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 18
Всего: 135



если vfw32.dll уже лежит рядом, то, возможно, этой dll-ке чего-то не хватает. Посмотри dependencies этой dll-ки


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
dezhik
Дата 5.4.2011, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 28.3.2011

Репутация: нет
Всего: нет



Цитата(volatile @  5.4.2011,  00:46 Найти цитируемый пост)
По-моему библиотеку вы подключили, раз оно скомпилировалось.
осталось только vfw32.dll положить рядом с программой. 

Извините, насколько я понимаю, библиотеки лежат в файлах lib. Например, та dll, что я нашел, даже имя другое несет - msfvw32.dll. И лежит она в папке windows\system32 - то есть должна быть видна по умолчанию. Да и вообще я не хочу использовать dll в проектах - ведь если есть lib, то она должна "Встроиться" в состав exe. Где бы почитать об этом?
PM MAIL   Вверх
borisbn
Дата 5.4.2011, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 18
Всего: 135



dezhik, здесь есть некоторая неразбериха в терминологии. Библиотеками называют всё, что хочешь...
К делу.

Цитата(dezhik @  5.4.2011,  00:24 Найти цитируемый пост)
"Приложения не удалось запуститься, поскольку vfw32.dll не был найден.

Цитата(dezhik @  5.4.2011,  09:40 Найти цитируемый пост)
имя другое несет - msfvw32.dll. И лежит она в папке windows\system32

так это разные библиотеки. Программа ищет именно vfw32.dll.

Цитата(dezhik @  5.4.2011,  09:40 Найти цитируемый пост)
ведь если есть lib, то она должна "Встроиться" в состав exe

С расширением lib существует два типа файлов: библиотека импорта и статическая библиотека. Первая просто помогает подгрузить функции из соответствующей dll-ки в runtime'е, точнее при старте программы. У тебя, судя по всему такая и есть, и тебе просто необходима соответствующая ей vfw32.dll.
Вторая содержит в себе весь код, подключается к программе на этапе линковки и не требует внешних dll-лек в runtime'е.

Добавлено через 4 минуты и 59 секунд
Цитата(dezhik @  5.4.2011,  09:40 Найти цитируемый пост)
Где бы почитать об этом?

http://www.rsdn.ru/article/baseserv/dlluse.xml
http://www.codenet.ru/progr/visualc/Using-DLL.php


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
xvr
Дата 5.4.2011, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



У вас не тот vfw32.lib (слишком старый). Возьмите из PSDK (и сконвертируйте в BCB формат). Ваша dll vfw32.dll вообще 16ти битная  smile (IMHO)
А функции, которые вы хотите использовать живут в Avicap32.dll

PM MAIL   Вверх
dezhik
Дата 5.4.2011, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 28.3.2011

Репутация: нет
Всего: нет



Цитата(xvr @  5.4.2011,  11:37 Найти цитируемый пост)
У вас не тот vfw32.lib (слишком старый). Возьмите из PSDK (и сконвертируйте в BCB формат). Ваша dll vfw32.dll вообще 16ти битная   (IMHO)
А функции, которые вы хотите использовать живут в Avicap32.dll

А можно поподробней уточнить, как сконвертировать в этот формат? И еще вопрос - насколько я понял, этот борланд с++ 6.0 староват уже стал, что ли? А что есть из иде поновее, но чтобы не .NET? 
UPD: Помогло импортирование из avicap.dll файла avicap.lib. с помощью implib. Актуален вопрос о каком нибудь более свежем билдере.

Это сообщение отредактировал(а) dezhik - 5.4.2011, 12:51
PM MAIL   Вверх
xvr
Дата 5.4.2011, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(dezhik @  5.4.2011,  12:33 Найти цитируемый пост)
Актуален вопрос о каком нибудь более свежем билдере.

После 6.0 был BDS 2006. Сейчас последний 2010. Код они генерят стандартный (VCL), не .NET (Хотя вроде и с .NET дружат)

Цитата(dezhik @  5.4.2011,  12:33 Найти цитируемый пост)
А можно поподробней уточнить, как сконвертировать в этот формат?

coff2omf.exe из папки bin в Builder'е

PM MAIL   Вверх
dezhik
Дата 6.4.2011, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 28.3.2011

Репутация: нет
Всего: нет



Цитата(xvr @  5.4.2011,  16:38 Найти цитируемый пост)
После 6.0 был BDS 2006. Сейчас последний 2010. Код они генерят стандартный (VCL), не .NET (Хотя вроде и с .NET дружат)

А как насчет CodeGear RAD studio 2007? В целях изучения и чтоб не очень старая была.

Цитата

Цитата(dezhik @  5.4.2011,  12:33 )
А можно поподробней уточнить, как сконвертировать в этот формат?

coff2omf.exe из папки bin в Builder'е

Спасибо помогло.

Это сообщение отредактировал(а) dezhik - 6.4.2011, 10:43
PM MAIL   Вверх
xvr
Дата 6.4.2011, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(dezhik @  6.4.2011,  10:41 Найти цитируемый пост)
А как насчет CodeGear RAD studio 2007?

Нормально  smile (Это BDS 2007). В последних версиях все перевели в Unicode (со старыми проектами могут быть проблемы)

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.1263 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.