Russian Qt Forum

Qt => Общие вопросы => Тема начата: pokidoff от Сентябрь 29, 2009, 08:52



Название: Так как все же создать обыкновенную Windows-DLL в QT?
Отправлено: pokidoff от Сентябрь 29, 2009, 08:52
Пожалуйста, приведите простейший пример dll, функции из которой можно вызывать из других языков: VBA, Python, Delphi. Просмотр интернета и препарирование постов с этого форума не дали результатов. Мне не нужно экспортировать классы, будет достаточно функций.


Название: Re: Так как все же создать обыкновенную Windows-DLL в QT?
Отправлено: BaltikS от Сентябрь 29, 2009, 08:53
QLibrary ?


Название: Re: Так как все же создать обыкновенную Windows-DLL в QT?
Отправлено: pokidoff от Сентябрь 29, 2009, 08:55
Да, но меня не интересует загрузка в QT, мне нужно создать DLL, которую можно выполнять, к примеру, rundll32.


Название: Re: Так как все же создать обыкновенную Windows-DLL в QT?
Отправлено: BaltikS от Сентябрь 29, 2009, 08:58
Пример создания Длл есть в книге кажется Шлее, а вот в ней поробовать заюзать QLibrary честно говоря не приходилось, но поэксперементировать думаю стоит


Название: Re: Так как все же создать обыкновенную Windows-DLL в QT?
Отправлено: pokidoff от Сентябрь 29, 2009, 09:03
Пример из Шлее не запускается rundll. И причем тут QLibrary, когда этот класс служит для загрузки DLL в QT?


Название: Re: Так как все же создать обыкновенную Windows-DLL в QT?
Отправлено: BaltikS от Сентябрь 29, 2009, 09:19
Пожалуйста, приведите простейший пример dll, функции из которой можно вызывать из других языков: VBA, Python, Delphi.
мне нужно создать DLL, которую можно выполнять, к примеру
Напишите пример, что вы конкретно хотите...


Название: Re: Так как все же создать обыкновенную Windows-DLL в QT?
Отправлено: pokidoff от Сентябрь 29, 2009, 09:40
ну к примеру, нужно экспортировать функцию из dll:
Код:
int plus_dva(int value)
{
      return value+2
}
чтобы потом вызвать ее из.....ну к примеру из VBA:
Код:
Declare Function plus_dva lib "dll_name" (val as Integer) as Integer
Sub main
      dim i as Integer
      i=plus_dva(4)
End Sub

или вызвать ее rundll32:
Код:
      rundll32 plus_dva, 2
пускай я не увижу результата ее работы.....
только и всего.


Название: Re: Так как все же создать обыкновенную Windows-DLL в QT?
Отправлено: kuzulis от Сентябрь 29, 2009, 10:43
1. тут QT ни при чем... читайте man MinGW
2. это чттали: http://www.prog.org.ru/topic_8259_0.html ?
3. приведите код дллки как вы делали

вот первое что попалось : http://www.nabble.com/building-shared-library-with-mingw-to9890739.html


Название: Re: Так как все же создать обыкновенную Windows-DLL в QT?
Отправлено: lit-uriy от Сентябрь 29, 2009, 16:14
pokidoff, а почему Qt DLL, ты хочешь, чтобы в ней были окошки (виджеты) написаные на Qt?


Название: Re: Так как все же создать обыкновенную Windows-DLL в QT?
Отправлено: pokidoff от Сентябрь 29, 2009, 23:12
Нет,мне нужна поддержка сети.


Название: Re: Так как все же создать обыкновенную Windows-DLL в QT?
Отправлено: lit-uriy от Октябрь 01, 2009, 06:56
Если я ничего не путаю, на форуме поднималась тема, как для борландовской програмы использовать DLL'ку написаную на Qt. Суть в том, что там создаётся экзепляр Q[Core]Application Нужно поискать это дело.