Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/22: Рейтинг темы: голосов - 22, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 06.09.2012
Сообщений: 7

Использование DLL для приема-передачи данных в разных приложениях

06.09.2012, 11:40. Показов 4407. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте, я новичок в С++, недавно столкнулся с проблемой, не могу передать два числа типа int из одной программы, созданной в С++ Builder, в другую программу созданную там же, через файл библиотеки DLL. Более чем уверен что возможность такая есть.
Создаю статическую DLL, создаю приложение с формой, при нажатии кнопки Button1, выполняется действие int A=1;, при нажатии второй кнопки той же переменной int A=2;(присваивается значение 2). Далее надо чтобы эти значения записывались в DLL. Вызываю второе приложение и считываю значение А, выводя результат в Edit1. Не могу это реализовать! ГУРУ, помогите!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.09.2012, 11:40
Ответы с готовыми решениями:

Использование разных иконок в приложениях VB6
Никто не сталкавался с такой проблемой, что нужно использовать разную иконку (.ico) в зависимости от того, свернута прога или сидит в...

Создание dll для передачи данных из C++ в Matlab
Есть проэкт в Visual Studia 6. Программа создаёт dll файл, при помощи которого в MATLAB передаются данные с С++. Проблема в том,что по...

Использование класса object для передачи данных в поток
Здравствуйте. Вот идея кода. public partial class Form1 : Form { Thread поток=new Thread(последовательность); public static...

11
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
06.09.2012, 14:00
Цитата Сообщение от alexandermc Посмотреть сообщение
Далее надо чтобы эти значения записывались в DLL.
В что в dll можно что-то записывать ?

Цитата Сообщение от alexandermc Посмотреть сообщение
Более чем уверен что возможность такая есть.
Отуда такая уверенность взялась?
Цитата Сообщение от alexandermc Посмотреть сообщение
Создаю статическую DLL
А это что такое? dll по определению динамическая ( библиотека, а не файл )

Используй WinApi или DDE для обмена сообщениями между приложениями
0
0 / 0 / 0
Регистрация: 06.09.2012
Сообщений: 7
06.09.2012, 14:37  [ТС]
На фрилансе читал, ребята делали такое, только передавали через DLL строки.
не записывать в DLL, а присваивать значение переменной, обьявленной в DLL, с целью дальнейшего использования значения этой переменной в другом приложении! вот что меня сильно интересует!
Думал создавать .txt файл в него записывать, затем считывать значение переменной. но это не серьезно(как мне кажется). не судите строго, ищу наиболее эфективный метод, основанный на библиотеке.
А про WinApi и DDE, можно поподробнее, хотя бы используемые команды, дальше разберусь!
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
06.09.2012, 14:42
WinApi через SendMessage()
DDE - компоненты, описание есть в Архангельском.
0
0 / 0 / 0
Регистрация: 06.09.2012
Сообщений: 7
06.09.2012, 14:52  [ТС]
Дак что, DLL для этих целей не получится использовать? Может классы или какие-нить глобальные переменные?
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
06.09.2012, 14:53
Вопрос зачем ?
0
0 / 0 / 0
Регистрация: 06.09.2012
Сообщений: 7
06.09.2012, 15:44  [ТС]
Есть необходимость управлять кодом советника в MT4 из программы на С++. Т.к. MT4 поддерживает взимодействие через dll, то и думаю как это реализовать!
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
06.09.2012, 16:23
DLL "по вызову" не находится в памяти резидентно (но это можно изменить...) и запомнить информацию "в себе" не может. Как вариант можно использовать файл на диске - скажем, ини-файл в каталоге Винды. В этом случае длл-ка будет читать из него информацию и сохранять туда же. Вот приблизительный макет (две проги и библиотека)__
Миниатюры
Использование DLL для приема-передачи данных в разных приложениях  
Вложения
Тип файла: rar dllshluz.rar (389.2 Кб, 57 просмотров)
1
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
06.09.2012, 16:25
А смысл если можно тоже сделать с обычным файлом без dll + синронизация через мютекс ?
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
06.09.2012, 16:31
П.С. По другому, наверное, можно создать (зарегистрировать) какую-нибудь переменную окружения и осуществлять передачу через нее.
0
0 / 0 / 0
Регистрация: 06.09.2012
Сообщений: 7
06.09.2012, 17:29  [ТС]
Цитата Сообщение от nick42 Посмотреть сообщение
П.С. По другому, наверное, можно создать (зарегистрировать) какую-нибудь переменную окружения и осуществлять передачу через нее.
Вот в этом направлении я и думаю, это и спрашиваю как сделать!))
А если использовать файл .ini тогда, ... хотя, да, это вариант! Буду изучать создание ini !
Ну если нельзя изменить область видимости переменных в DLL, тогда остается только использование файлов! Хотя, думается мне, что это можно реализовать...
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
06.09.2012, 18:21
Цитата Сообщение от alexandermc Посмотреть сообщение
в этом направлении я и думаю, это и спрашиваю как сделать
Попробуйте putenv() getenv()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.09.2012, 18:21
Помогаю со студенческими работами здесь

Определения скорости передачи и приема по сети для процесса в Windows
Как определить скорость передачи и приема данный по сети (Ethernet, Wi-Fi) для процесса в WIndows. Как на картинке надо Не...

Не работает драйвер для работы приема/передачи по ком порту
Господа, прошу совета или помощи. Который день мучаюсь, все никак не решу проблемку... Суть дела - пишу драйвер для работы...

Сделать замер времени,которое потребовалось для приема / передачи используя таймер
Здравствуйте, помогите пожалуйста с дополнением кода. Суть моего задания такова: Передать информацию при помощи uart-usb на плату...

Универсальная функция для приема разных двумерных массивов
В программе у меня много двумерных массивом разной размерности. Мне нужна одна функция (общая) чтобы работала на все массивы. Функция...

Варианты передачи потока разных данных
У меня есть TCP клиент под андроид и TCP сервер на Qt под Windows. Мне нужно передать сначала большой обьем текстовых данных а затем...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru