Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Mutex 
:(
    Опции темы
<Spawn>
Дата 22.10.2003, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



cully Спасибо тебе конечно, но я пробовал похожим образом и у меня почему то hMutex всегда сбрасывался в 0 в UnLockData. Не знаешь из за чего это происходит?


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
stab
Дата 22.10.2003, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 14
Всего: 48



хз, это код надо смотреть


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
Dmitry V.Abramov
Дата 22.10.2003, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.9.2003
Где: Saint-Petersburg

Репутация: 5
Всего: 4



cully ... Все понятно и из уже приведенного кода. Но как это объяснить человеку, который утверждает, что каждому процессу передается один и тот же хэндл объекта... Выдергивающему цитаты и толкующему их по-своему... Не умеющему слушать... Не умеющему смотреть на примеры... Начать рассказывать про механизм виртуальной адресации? Про отличия памяти процесса от памяти потока? Про принципы работы DLL ? Даже если просто сказать - "делай так", в ответ услышишь - "а вот в энциклопедии юнных сурков сказано..."... sad.gif

Тут случай особый. И подход нужен особый. Тут нужно звать г. p0s0l с его олимпийским спокойствием и мегатонным терпением. Только он может попробовать хоть чем-то помочь...

г.p0s0l !!! Спаси нас от разведения флэйма!! Устрой ликбез с картинками! У тебя это несколько раз получалось...
--------------------
/DVA
PM MAIL WWW   Вверх
<Spawn>
Дата 22.10.2003, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Dmitry V.Abramov Прошу вас больше не обращать внимания на мои темы в таком случае, раз вас так все нервирует. Я только учусь, а человеку как известно свойственно ошибаться. Я ни разу до этого момента не использовал обьекты синхронизации. Все что я знаю, я почерпываю из книг. Ну понял я написаное в книге не так как есть на самом деле и что из этого? Я что преступление какое совершил? Короче, как я уже сказал, я во всем сам разобрался уже и все нормально работает. Прошу больше не разводить тут флейма.


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
p0s0l
Дата 22.10.2003, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



smile.gif
Долго не заходил на форум, так что опоздал к раздаче слонов...
Первое, что сразу бросилось в глаза, <Spawn>, это ошибка с @...
Зачем узнавать адрес УКАЗАТЕЛЯ ?
Т.е. в функции GetInt в строке:
Result:=PInteger(DWORD(@ShareData)+DataSize*Index)
не надо ставить @ - иначе и писаться и читаться у тебя будет совсем не в FileMapping -> поэтому GetShareData возвращает разные показания, и разные процессы работая с твоей DLL должны получать разные данные.

Чтобы это было не теоретически, я скопировал исходник <Spawn>'а в DPR, подправил немного, добавил пару строк для FileMapping'ов и откомпилил. Написал маленькую прогу, использующую LockData, UnLockData, GetShareData и SetShareData. Запустил её в трех экземплярах, менял, читал, блокировал и разблокировал данные - ВСЁ РАБОТАЕТ НОРМАЛЬНО!

Так что ошибка таится где-то в других местах, не там где все мы тут думаем... Либо же всё дело было в @, хотя сомневаюсь...

PS: hMutex у меня НЕ обнулялся...
PPS: а обнулялся он у тебя из-за того, что может быть, ты с помощью SetShareData обнулил третий элемент массива ? В приведенном тобой коде (с @) третий элемент указывал бы на hMutex... Хотя если бы изменил нулевой элемент (=ShareData), то тогда вообще ерунда какая-то получилась бы...

Это сообщение отредактировал(а) p0s0l - 22.10.2003, 20:31


--------------------
С уважением, г-н Посол.
PM   Вверх
Dmitry V.Abramov
Дата 22.10.2003, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.9.2003
Где: Saint-Petersburg

Репутация: 5
Всего: 4



<Spawn> Очень странная форма обучения - отстаивать заблуждения и не делать работу над ошибками... Спасибо также за великодушное разрешение игнорировать твои темы. Приступаю немедленно.
--------------------
/DVA
PM MAIL WWW   Вверх
<Spawn>
Дата 22.10.2003, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



p0s0l я же говорю что все уже исправил - нет ошибок уже(а ошибка была как раз в том, что я пытался узнать адрес указателя и не только в той функции).

Это сообщение отредактировал(а) <Spawn> - 22.10.2003, 22:10


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0490 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.