Денис » 25.09.2009 (Пт) 8:47
Ну тогда используй универсальный метод: сделай таблицу например lock.dbf в которую записывай имена пользователей, которые производят транзакции, при проведении транзакции программа сначала читает эту таблицу, и если там есть запись, сначала ждет (закрывает, открывает, перечитывает), пока запись пропадет (удалит другой пользователь) или поменяет свой статус на требуемый, если запись не удаляется/не меняется в течение некоторого промежутка времени, выдает сообщение, что так мол и так. Это минус способа. При сбоях запись в файле будет оставаться и ее нужно будет принудительно удалять/корректировать.
Вообще, такие таблицы можно организовать с большей функциональностью: каждый залогинившийся клиент добавляет себя в нее, и сообщает свой статус. Административным инструментом в рамках программы ты сможешь вывести красивый список залогиненных пользователей, с их статусом, открытыми окнами и т.п.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.