Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.57
bullet0070
2 / 2 / 1
Регистрация: 27.10.2013
Сообщений: 69
#1

DLL для Windows Forms - C++/CLI WinForms

27.10.2013, 17:26. Просмотров 1900. Ответов 16
Метки нет (Все метки)

Здравствуйте! Прошу не сильно злиться, если мною ниже сказанный текст будет полнейшим бредом.
Я сделал игру на Windows Forms(Точнее используя этот интерфейс). Решил скинуть поиграть друзьям, и, конечно же они не смогли запустить мое приложение, так как у них нету тех библиотек, которые есть у меня с установленной Visual Studio 2012. Я нарыл в интернете 2 решения проблемы:
1)Использовать статическую линковку(Статические библиотеки)
2)Привязать к моему проекту нужные DLL.
Так вот, я попробовал сделать статическую линковку. Мало того, что я мало себе представлял это процесс, так ещё и вроде как выяснил, что статические библиотеки не совместимы с CLR(которые использует windows forms). Я решил привязать к моему проекту DLLки. За этим и пишу Вам. Пожалуйста, помогите, как определить что мне нужно кинуть вместе с моей программой? Откуда эти DLL взять? Может надо написать свои DLL? Как и написать? Прошу разжевать эту актуальную проблему, указать что мне нужно делать в этом случае.

P.S вот мой проект: http://rghost.ru/49758846
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2013, 17:26
Я подобрал для вас темы с готовыми решениями и ответами на вопрос DLL для Windows Forms (C++/CLI WinForms):

Необработанное исключение в system.windows.forms.dll
Уминя visual studio 2008.Создал button на форме при компиляци видаеот такую...

Подключение dll (.NET) к проекту Windows Forms
Приветствую! Пытаюсь подключить библиотеку dll, которую сам же создал: //...

Изменения стиля для приложения Windows Forms
Здравствуйте. Нужны все возможные варианты изменения стиля для windows forms....

Windows Forms на VS 2015 для 32-битной системы
Вот решил покопаться в конструкторе, после winApi и столкнулся с такой...

Нужны ресурсы для изучения технологии Windows Forms
Подскажите кто-нибудь по Windows Forms какие-нибудь методички с описаниями...

Windows Forms. Код запуска приложения для кнопки
Я создаю Windows Form Как мне сделать чтобы кнопка запускала...

16
Avazart
Эксперт С++
7685 / 5594 / 543
Регистрация: 10.12.2010
Сообщений: 25,074
Записей в блоге: 17
27.10.2013, 17:56 #2
Не используй CLR не будет зависимости от NET-платформы

А вообще можно делать инсталятор, который будет делать нужные проверки наличия библиотек и если их нет предлагать установить.
1
bullet0070
2 / 2 / 1
Регистрация: 27.10.2013
Сообщений: 69
27.10.2013, 18:50  [ТС] #3
Цитата Сообщение от Avazart Посмотреть сообщение
Не используй CLR не будет зависимости от NET-платформы

А вообще можно делать инсталятор, который будет делать нужные проверки наличия библиотек и если их нет предлагать установить.
Большое спасибо за ответ)
Как сделать инсталятор, проверяющий это? Есть ли тут посвещенные этому темы?
Значит ли всё это, что надо срочно переходить на WinAPI?

Добавлено через 6 минут
А то действительно нужно как-то решить проблему, хочется некоторым знакомым кинуть своё пусть простенькое, но первое приложение)
0
Avazart
Эксперт С++
7685 / 5594 / 543
Регистрация: 10.12.2010
Сообщений: 25,074
Записей в блоге: 17
27.10.2013, 20:32 #4
Цитата Сообщение от bullet0070 Посмотреть сообщение
Как сделать инсталятор, проверяющий это?
Ну к примеру создать инсталятор через InnoSetup

Цитата Сообщение от bullet0070 Посмотреть сообщение
Значит ли всё это, что надо срочно переходить на WinAPI?
А это зависит от сугубо твоих потребностей и потребностей пользователей твоих программ...
К тому же можно переходить еще и на другие "окна" например Qt
1
bullet0070
2 / 2 / 1
Регистрация: 27.10.2013
Сообщений: 69
27.10.2013, 21:25  [ТС] #5
Цитата Сообщение от Avazart Посмотреть сообщение
Ну к примеру создать инсталятор через InnoSetup


А это зависит от сугубо твоих потребностей и потребностей пользователей твоих программ...
К тому же можно переходить еще и на другие "окна" например Qt
Спасибо за совет. насчёт потребностей - они пока что очень примитивны. Я хочу пока что освоить до конца простые неконсольные приложения. Кстати, сейчас как раз работаю с QT.
И да, давно давно волнующий меня вопрос: Как сделать так, чтобы программа была "многослойной"? Например, новое окно открывалось не "ещё одним отдельным окном", а внутри основной программы. Как, например, в любом инстляторе. Слышал об Frame, но не нашёл конкретной информации о нём.
Знаете ли Вы как сделать подобную вещь?
P.S метод "закрыть основное окно и поверх показать новое" меня не очень привлекает)
0
Avazart
Эксперт С++
7685 / 5594 / 543
Регистрация: 10.12.2010
Сообщений: 25,074
Записей в блоге: 17
27.10.2013, 21:33 #6
Я не использую CLR, так что не могу подсказать ничего.

Использую C++Builder и Qt там как бы с этим проблем нет ...
0
bullet0070
2 / 2 / 1
Регистрация: 27.10.2013
Сообщений: 69
27.10.2013, 21:37  [ТС] #7
Цитата Сообщение от Avazart Посмотреть сообщение
Я не использую CLR, так что не могу подсказать ничего.

Использую C++Builder и Qt там как бы с этим проблем нет ...
Я и не говорил ничего про CLR =) Из него надо валить пожалуй.
Ну, например с помощью чего делается такая "многослойность" в QT?
0
Avazart
Эксперт С++
7685 / 5594 / 543
Регистрация: 10.12.2010
Сообщений: 25,074
Записей в блоге: 17
27.10.2013, 22:00 #8
Да хотя бы с помощью QWidget
0
bullet0070
2 / 2 / 1
Регистрация: 27.10.2013
Сообщений: 69
27.10.2013, 22:55  [ТС] #9
Есть у кого предложения, как заставить работать программу у других? Пока я смогу переписать программу уже на QT, уйдёт много времени...
0
Avazart
Эксперт С++
7685 / 5594 / 543
Регистрация: 10.12.2010
Сообщений: 25,074
Записей в блоге: 17
27.10.2013, 23:38 #10
Да нужно быть уверенным что фрейм форк стоит той же или выше версии + dll ки с под VC++ (там их кажется две всего)

Добавлено через 3 минуты
Вот пример отсутствия DLL-лок http://www.cyberforum.ru/post5236874.html
0
bullet0070
2 / 2 / 1
Регистрация: 27.10.2013
Сообщений: 69
28.10.2013, 17:19  [ТС] #11
Цитата Сообщение от Avazart Посмотреть сообщение
Да нужно быть уверенным что фрейм форк стоит той же или выше версии + dll ки с под VC++ (там их кажется две всего)

Добавлено через 3 минуты
Вот пример отсутствия DLL-лок http://www.cyberforum.ru/post5236874.html
дело вот в чём. Фраймворк я человека попросил поставить, DLL я скинул, которые у него просит. Даже попросил его установить Visual C++ redistributable 2012. Однако, всё равно не запускается... Ругается так: "MSVCP110.dll либо не предназначен для выполнения под управлением Windows или содержит ошибку. Попробуйте переустановить....". Поэтому единственный был вариант - статическая линковка, которая с Windows Forms видать не совместима... Значит мне не судьба никому скинуть своё приложение... Остаётся лишь учиться такие делать на QT.
0
Avazart
Эксперт С++
7685 / 5594 / 543
Регистрация: 10.12.2010
Сообщений: 25,074
Записей в блоге: 17
28.10.2013, 18:52 #12
Так redistributable 2012 для 12 версии, а "MSVCP110.dll от 10 версии, вроде ...
0
bullet0070
2 / 2 / 1
Регистрация: 27.10.2013
Сообщений: 69
28.10.2013, 19:37  [ТС] #13
Цитата Сообщение от Avazart Посмотреть сообщение
Так redistributable 2012 для 12 версии, а "MSVCP110.dll от 10 версии, вроде ...
Только что друг установил ридистрибут 2010, всё равно та же ошибка. Я ему сам кинул свой MSVCP110D.dll, и у него вылетело "Файл MSVCP110D.dll либо не предназначен для выполнения либо....переустановите программу". Вобщем капец =( Так близко уже...
0
Avazart
Эксперт С++
7685 / 5594 / 543
Регистрация: 10.12.2010
Сообщений: 25,074
Записей в блоге: 17
28.10.2013, 19:43 #14
Так нужно блин по зависимостям смотреть а не от фанаря.

Используй Poc Mon для просмотра зависимостей.
0
bullet0070
2 / 2 / 1
Регистрация: 27.10.2013
Сообщений: 69
29.10.2013, 14:37  [ТС] #15
Цитата Сообщение от Avazart Посмотреть сообщение
Так нужно блин по зависимостям смотреть а не от фанаря.

Используй Poc Mon для просмотра зависимостей.
Avazart, спасибо за то, что не бросали)
Вобщем я своими силами заставил её запуститься) Могу потом отдельно создать подробную тему для новичков.
0
Avazart
Эксперт С++
7685 / 5594 / 543
Регистрация: 10.12.2010
Сообщений: 25,074
Записей в блоге: 17
29.10.2013, 14:38 #16
Лучше опиши что делал здесь ...
0
bullet0070
2 / 2 / 1
Регистрация: 27.10.2013
Сообщений: 69
29.10.2013, 15:51  [ТС] #17
Цитата Сообщение от Avazart Посмотреть сообщение
Лучше опиши что делал здесь ...
Надеюсь пинать не будут) Создал отдельную тему для этого вопроса, ведь проблема действительно очень больная.
описывать что я сделал будет долго. Вот тема
:http://www.cyberforum.ru/cpp-beginners/thread991594.html#post5254697
0
29.10.2013, 15:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2013, 15:51
Привет! Вот еще темы с решениями:

Асинхронный запуск функций для DataGridView в Windows Forms
Форумчане, прошу вас подсказать, возможно ли асинхронно выполнить некоторую...

Какой контрол используется в Windows Forms для отображения таблицы?
Доброго времени суток! Мне необходимо сделать программу с использованием...

Библиотека и/или элемент Windows Forms для просмотра документов
Нужно чтобы в приложении было возможно просматривать документы MS Word или PDF....

простой выбор папки в visual studio для приложения в windows forms
Здравствуйте, товарищи))) спасибо за то, что помогаете!)))) с вашими...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru