-
Есть старая программа, работающая с запароленной базой данных Paradox.
Открытие базы в программе производится известным образом:
session.AddPassword('Мой секретный пароль');
table1.active := true;
Через Database Desktop поменял мастер-пароль на таблицы.
В программе прописал новый пароль.
Всё работает ОК, НО!!! При попытке открытия старой базы данных новой программой появляется окно запроса пароля PasswordDialog, что мне совсем не нужно.
Можно ли в моём случае предотвратить появление окна PasswordDialog? Нужно, чтобы программа просто завершала свою работу с каким-нибудь сообщением в случае несовпадения пароля.
try
table1.active := true;
except .....
не помогает, окно запроса пароля всё равно появляется.
-
> ABolnykh (28.09.2010 10:52:00) [0]
Может ты включил LoginPrompt
-
Специально я никого не включал. :)
Посмотрел в Хэлпе: свойство LoginPrompt есть у компонента TDataBase, который я не использую. У меня же в программе используется связка TTable - TDataSource, как пристегнуть к которой этот самый LoginPrompt (или придумать другой способ запрета появления окна ввода пароля) - непонятно.
:(((
-
> Всё работает ОК, НО!!! При попытке открытия старой базы
> данных новой программой появляется окно запроса пароля PasswordDialog,
> что мне совсем не нужно.
это что, там другйо пароль ? не
> session.AddPassword('Мой секретный пароль');
?
-
Посмотрел в Хэлпе: свойство LoginPrompt есть у компонента TDataBase
сам спросил, сам ответил
-
> Виталий Панасенко(дом) (28.09.10 14:05) [3]
>
> При попытке открытия старой базы данных новой программой
В старой базе - старый пароль, в новой программе - новый пароль, и они не совпадают. Потому и появляется окно запроса пароля, которое и требуется запретить.
-
> ABolnykh (28.09.2010 13:57:02) [2]
Если у тебя нет явного, то это ничего не значит.
-
> Через Database Desktop поменял мастер-пароль на таблицы.
>
> В программе прописал новый пароль.
> Всё работает ОК, НО!!! При попытке открытия старой базы
> данных новой программой появляется окно запроса пароля PasswordDialog,
> что мне совсем не нужно.
Зачем пароль менял?
-
> AddPassword
Этим методом можно добавить более одного пароля.
-
Нафиг вообще задавать, при наличии универсальных паролей.
Любой не ленивый человек найдет его за несколько секунд в Гугле.
-
> Anatoly Podgoretsky © (28.09.10 21:29) [9]
По большому счёту конечно да. Нафиг.
Но уж если мы соглашаемся обсуждать на ДМ "детские" способы защиты типа шифрования XOR, то и пароли к Парадоксу сгодятся.
Ибо парадоксовскую таблицу не "закрытую" паролем может открыть любой юзер более-менее знакомый с MS Office (в частности с MS Office Access). Но не всякий из вышеуказанных способен сообразить что искать в Гугле в случае неудачи.
-
> Германн (29.09.2010 02:25:10) [10]
Чтобы открыть таблицу Парадокса в Экселе надо обладать недюженными знаниями,
ты видимо перепутал с dBase IV
-
> Германн (29.09.2010 02:25:10) [10]
Я подскажу, чтобы лишить иллюзий, запрос "Пароли к Парадокс", искал в
яндексе, пятая ссылка, далее я даже и смотреть не стал.
-
Вот именно для того и нужно спрятать окошко для ввода пароля, чтобы хитро?опому юзеру было некуда ввести универсальный.
-
мда. кто бы мог подумать .....
-
первое что сделает хитро?опый юзер - это встанет на твой project1.exe и нажмет shift+del
затем возьмет твои файлы парадокса и снимет с них пароль вообще.
-
> Как предотвратить появление окна запроса пароля PasswordDialog?
TSession.OnPassword пробовал?
If an OnPassword event does not exist, but the BDE reports insufficient access rights, Delphi displays a default dialog box that prompts for a password.
-
> свойство LoginPrompt есть у компонента TDataBase, который
> я не использую.
Это не значит, что его не существует.
Он всё равно создаётся неявным образом.