|
3 / 3 / 0
Регистрация: 20.06.2012
Сообщений: 17
|
||||||
Совместное использование двумя приложениями глобальной переменной из одной DLL29.11.2012, 05:10. Показов 10703. Ответов 25
Метки нет (Все метки)
Есть два приложения одновременно использующих одну dll. Вопрос как в dll объявить общую для двух приложений глобальную переменную? Поискал в интернете нашел пример. Сначала компилятор ругался на кавычки, исправил, теперь возникает ошибка. Builder 6.0
[Linker Fatal Error] Fatal: Unable to open file 'MSVCRT-SECTION: .MYSEG, RWS' [C++ Warning] Unit1.cpp(15): W8094 Incorrect use of #pragma comment( <type> [,"string"] )
0
|
||||||
| 29.11.2012, 05:10 | |
|
Ответы с готовыми решениями:
25
Использование слова static при объявлении глобальной переменной |
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
| 29.11.2012, 08:23 | |
|
Вопрос: где по вашему должна "лежать" эта переменная, если DLL "живет" в памяти только на момент вызова, и в теле самой DLL никакие изменения не допустимы?
0
|
|
|
return (true);
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
|
|
| 29.11.2012, 08:32 | |
|
А зачем вам общая DLL? Нужно взаимодействие приложений с общей переменной - создайте ключик в реестре или атом.
0
|
|
|
3 / 3 / 0
Регистрация: 20.06.2012
Сообщений: 17
|
||
| 29.11.2012, 10:04 [ТС] | ||
|
0
|
||
|
3 / 3 / 0
Регистрация: 20.06.2012
Сообщений: 17
|
|
| 29.11.2012, 10:21 [ТС] | |
|
0
|
|
|
|
|
| 29.11.2012, 10:49 | |
|
перед записью проверить существование необходимой записи в файле и уйти, если такая запмсь есть
0
|
|
|
3 / 3 / 0
Регистрация: 20.06.2012
Сообщений: 17
|
||
| 29.11.2012, 11:14 [ТС] | ||
|
0
|
||
|
|
|
| 29.11.2012, 11:37 | |
|
вы ничего не говорите об условии, при котором следует прекратить запись, в таком случае, проверяете -если файл не пустой - прекращаете запись
Добавлено через 3 минуты по ходу, файл можно не открывать/закрывать для запист, а хранить записи из файла в массиве, тогда времени занимать будет не так уж и много, при том, если это отладчик, при каждой "отладке" файл можно перезаписывать, хотя я не думаю, что по умолчанию там будут 100500 строк, если предыдущие данные отладки дороги, как память, можно каждый раз данные отладки писать в новый файл
0
|
|
|
435 / 402 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
|
||
| 29.11.2012, 12:34 | ||
1. Можно использовать встроенный в билдер трасировщик CodeSite (Menu->Tools->CodeSite). И ваша библиотека может отсылать лог в него. 2. Можно сделать общий файл в памяти и общаться через него. Вот пример, в нем две копии приложения общаются между собой.
2
|
||
|
3 / 3 / 0
Регистрация: 20.06.2012
Сообщений: 17
|
|||
| 29.11.2012, 14:41 [ТС] | |||
|
Добавлено через 18 минут Добавлено через 11 минут Разделяемая память в DLL http://www.ishodniki.ru/art/ar... r/224.html, но пример у меня не компилируется
0
|
|||
|
435 / 402 / 57
Регистрация: 06.02.2012
Сообщений: 1,384
|
||
| 29.11.2012, 14:42 | ||
0
|
||
|
3 / 3 / 0
Регистрация: 20.06.2012
Сообщений: 17
|
||
| 29.11.2012, 14:47 [ТС] | ||
|
0
|
||
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
||
| 29.11.2012, 17:06 | ||
|
0
|
||
|
|
||
| 29.11.2012, 17:28 | ||
|
http://www.ishodniki.ru/art/ar... r/224.html просмотрев я там ничего нового не увидел...
не увидел там "глобальных переменных". Как я понимаю в dll можно хранить только константы, и вообще про реализацию взаимодействия между программами с помощью общей dll первый раз слышу. Добавлено через 6 минут Из ссылки
0
|
||
|
3 / 3 / 0
Регистрация: 20.06.2012
Сообщений: 17
|
|
| 10.12.2012, 15:29 [ТС] | |
|
В Builder пока не работает, зато работает в Visual studio. Важно!!! При объявлении в dll глобальной переменной с инициализацией нужно использовать #pragma data_seg (), а без инициализации #pragma bss_seg ()
Подскажите ссылку на нормальное описание #pragma, для Builder т.к. если верить этой http://docwiki.embarcadero.com... view_Index , то для Builder нет #pragma data_seg () и #pragma bss_seg ()
0
|
|
| 27.12.2021, 04:33 | |||||||||||
|
Я пишу в dll код так.
GetProcAddress. В общем мне не удалось даже к одному приложению подключить такуюю dll? может кто-то сто-то посоветует.
0
|
|||||||||||
|
|
|
| 27.12.2021, 10:18 | |
|
Добрый день.
Одну и туже dll нельзя использовать в двух потоках (типа можно, но скорее всего будут проблемы). тут или идет поочередное "юзанье" или как то выниматься функции (как например работают с MySQL)
0
|
|
| 27.12.2021, 10:18 | |
|
Помогаю со студенческими работами здесь
20
Как двум приложениям совместно использовать DLL?
Глобальные и статические глобальные переменные Загрузка переменной из DLL (GetProcAddress не берет значение переменной из *.dll) Глобальная переменная из другой dll Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|