Название: Подскажите как правильно использовать dll Отправлено: sibmail от Июнь 01, 2011, 07:21 есть сторонняя dll например addfun.dll. по книжкам понял что один из способов через QLibrary.
в *.h прописал Код: QLibrary lib; в конструкторе *.cpp Код: WaveFilePlay myWaveFilePlay = (AddSoundToList) lib.resolve("WaveFilePlay"); НО если я вызову в другом слоте myWaveFilePlay("test.wav"); - выдает ошибку. если пропишу в этом слоте так: WaveFilePlay myWaveFilePlay = (AddSoundToList) lib.resolve("WaveFilePlay"); myWaveFilePlay("test.wav"); то все нормально. Мне вот не понятно неужели каждый раз надо писать WaveFilePlay myWaveFilePlay = (AddSoundToList) lib.resolve("WaveFilePlay") ??? Название: Re: Подскажите как правильно использовать dll Отправлено: LisandreL от Июнь 01, 2011, 08:12 1) WaveFilePlay - тип.
WaveFilePlay myWaveFilePlay - локальная переменная, которая перекрывает глобальную и исчезает как только выходим за область её видимости. 2) Почему приводим к типу AddSoundToList, если у нас тип WaveFilePlay? Не видя полный код судить трудно, но догадываюь, что код в конструкторе должен выглядеть так: Цитировать myWaveFilePlay = (WaveFilePlay) lib.resolve("WaveFilePlay"); myWaveFilePlay("test.wav"); Название: Re: Подскажите как правильно использовать dll Отправлено: sibmail от Июнь 01, 2011, 09:51 моя ошибка.
понял спасибо, заработало. в конструкторе: myWaveFilePlay = (WaveFilePlay) lib.resolve("WaveFilePlay"); в слотах myWaveFilePlay("test.wav"); а теперь другой вопрос. как мне воспользоваться другим способом через pro файл. название addfun.dll. как правильно прописать LIBS += -laddfun но мне пишет файл не найден и как в таком случае мне описывать функции? Название: Re: Подскажите как правильно использовать dll Отправлено: kuzulis от Июнь 01, 2011, 10:06 а теперь другой вопрос. как мне воспользоваться другим способом через pro файл. 1. Чтобы линкер нашел библиотеку - нужно прописать к ней путь в *.pro файле (помимо имени библиотеки).название addfun.dll. как правильно прописать LIBS += -laddfun но мне пишет файл не найден Или же (если не хотим путь, а только имя) скопировать библиотеку в /system32 :) , но этого ненада делать. 2. Чтобы после успешной компиляции приложение запустилось, необходимо эту библиотеку (перед запуском приложения) скопировать в директорию с екзешкой приложения. Цитировать и как в таком случае мне описывать функции? Они должны быть описаны в заголовочном файле, который "поставляется" с библиотекой. И в этом файле (как в обычном заголовочном) должны быть перечислены все функции, классы, и т.п. которые предоставляются библиотекой. Подключаем (через include) этот файл куда надо и работаем. ЗЫ: Сколько можно задавать такие вопроты то. А? Ну неужели так сложно воспользоваться поиском? >:( Название: Re: Подскажите как правильно использовать dll Отправлено: sibmail от Июнь 01, 2011, 11:09 1. пример напиши
2. - 3. без примера разговор не очем ЗЫ. сколько надо столько буду задавать. или можешь убить себя. Название: Re: Подскажите как правильно использовать dll Отправлено: kuzulis от Июнь 01, 2011, 11:20 :o
Цитировать 1. пример напиши С какого ражна? Гони 10$ - напишу.Цитировать 2. - Тебе нужно - ты и ищи примеры.3. без примера разговор не очем Цитировать ЗЫ. сколько надо столько буду задавать. или можешь убить себя. О как! ;DЗЫ: А грубить не нужно. Название: Re: Подскажите как правильно использовать dll Отправлено: Igors от Июнь 01, 2011, 11:26 1. пример напиши Go back to school :)2. - 3. без примера разговор не очем ЗЫ. сколько надо столько буду задавать. или можешь убить себя. Название: Re: Подскажите как правильно использовать dll Отправлено: galeks от Июнь 01, 2011, 13:53 ЗЫ. сколько надо столько буду задавать. или можешь убить себя. OMG!!! Название: Re: Подскажите как правильно использовать dll Отправлено: iks от Июнь 13, 2011, 09:40 а по форуму поискать ни как? Недавно отвечал, простой пример http://www.prog.org.ru/index.php?topic=18321.msg124013#new
|