Вопрос № 86234: Доброе время суток !!!!
Уважаемые ЭКСПЕРТЫ у меня к Вам вопрос.
Есть программа на IB7 база расположенна на сервере. мне нужно написать программу в которой будет вестись лог, кто зашел в программу и что там делал..
Я не знаю как подойт...Вопрос № 86258: Уважаемые Эсперты !
Подскажите пожалуйста как собрать delphi-проект в в один exe файл?
..Вопрос № 86281: У меня еще один вопрос .. в низу привел код программы не хочет отправлять письмо на адрес указанный мной <font color=#888888>код перемещён в приложение (edited by <a href=http://rusfaq.ru/info/user/3630>Ерёмин А.</a>)</font>...Вопрос № 86286: У кого-нибудь работало программно добавлять пользователя в любую группу на локальной машине.
Представленный код выдаёт ошибку NERR_GroupNotFound (Не найдена группа), хотя эта группа реально существует.
Спасибо....Вопрос № 86340: День добрый, Уважаемые эксперты!!!
Написал я компонент, установил его, поюзал в приложении.
Все нормально.
А когда закрываю Дельфи (7 версия) пишет:
Access violation to address 00000000. Read of addresss 0000000.
Код в прилож...
Вопрос № 86.234
Доброе время суток !!!!
Уважаемые ЭКСПЕРТЫ у меня к Вам вопрос.
Есть программа на IB7 база расположенна на сервере. мне нужно написать программу в которой будет вестись лог, кто зашел в программу и что там делал..
Я не знаю как подойти к этой задачи и как ее осуществить. Заранее благодарю за помощь
Отвечает: Архангельский Андрей Германович
Здравствуйте, кадекин Александр Геннадиевич!
Я делал это следующим образом:
1) в БД создается таблица протокола
2) в триггерах insert, update, delete прописываются определенные действия, которые записывают информацию в таблицу протокола.
То что должно учитываться зависит от конкретной задачи. Для бухгалтерской программы я отслеживал изменения ключевых полей, например, кредит, дебит, сумма и т.д.
3) Если пользователь приходит в БД со своей клиентской программы, то в этой программе нужно предусмотреть вызов процедур login, Logout. Если он приходит с какой-либо другой программы, например, isql.exe, то вход/выход отследить затруднительно. НО все изменения будут отслежены.
Работает это тихо и надежно. При правильном проектировании протокол занимает немного места.
--------- Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО
Отвечает: Проходящий Мимо
Здравствуйте, кадекин Александр Геннадиевич!
В дополнение к ответу Архангельского А.Г. я в каждую таблицу добавляю поля
-- кто создал запись
USR_CREAT: VARCHAR(31) DEFAULT current_user NOT NULL
-- когда создана запись
TIME_CREAT: TIMESTAMP DEFAULT current_timestamp NOT NULL
-- кто изменил запись
USR_CHANGE: VARCHAR(31) DEFAULT current_user NOT NULL
-- когда изменена запись
TIME_CHANGE: TIMESTAMP DEFAULT current_timestamp NOT NULL
Для таблиц создаем триггеры после вставки:
CREATE trigger таблица_bi for таблица
active before insert position 0
AS
begin
new.USR_CREAT=CURRENT_USER;
new.TIME_CREAT=current_timestamp;
new.USR_CHANGE=CURRENT_USER;
new.TIME_CHANGE=current_timestamp;
end
Для таблиц создаем триггеры после обновления:
CREATE trigger таблица_au for таблица
active after update position 0
AS
begin
new.USR_CHANGE=CURRENT_USER;
new.TIME_CHANGE=current_timestamp;
end
К логам не обязательно давать доступ всем пользователям, а при даном подходе пользователи могут отслеживать изменения, что часто необходимо при "разборе полетов".
Удачи.
--------- Carpe diem!
Ответ отправил: Проходящий Мимо (статус: 8-ой класс)
Ответ отправлен: 10.05.2007, 12:10
Вопрос № 86.258
Уважаемые Эсперты !
Подскажите пожалуйста как собрать delphi-проект в в один exe файл?
Отвечает: Вадим Викторович Витомский
Здравствуйте, Kakenov Daulet!
Что именно Вы имеете в виду? Просто сборка осуществляется по Ctrl+F9, собрать и выполнить - F9.
Может, вы имеете в виду что-то другое?
Отвечает: W@NDeReR
Здравствуйте, Kakenov Daulet!
Нажмите комбинацию клавиш Ctrl+F9
или в главном меню выбрать Project->Compile имя вашего проекта
--------- Опыт — дитя мысли, а мысль — дитя действия. Нельзя учиться по книгам.
Ответ отправил: W@NDeReR (статус: 4-ый класс)
Ответ отправлен: 10.05.2007, 15:18
Вопрос № 86.281
У меня еще один вопрос .. в низу привел код программы не хочет отправлять письмо на адрес указанный мной код перемещён в приложение (edited by Ерёмин А.)
Отвечает: W@NDeReR
Здравствуйте, кадекин Александр Геннадиевич!
Посмотрите верно ли вы ввели значение в:
ledHost.Text - здесь должен быть указан сервер для отправки почты для mail.ru это smtp.mail.ru для остальных можно узнать на сайте предостовляющие вам услуги электронной почты.
LabeledEdit1.Text - здесь должен быть ваш пароль от почтового ящика
LabeledEdit2.Text- а здесь соответственно пароль
Такой же точно проект я скачивал с http://www.delphisources.ru/ была та же проблема
--------- Опыт — дитя мысли, а мысль — дитя действия. Нельзя учиться по книгам.
Ответ отправил: W@NDeReR (статус: 4-ый класс)
Ответ отправлен: 10.05.2007, 18:29
Вопрос № 86.286
У кого-нибудь работало программно добавлять пользователя в любую группу на локальной машине.
Представленный код выдаёт ошибку NERR_GroupNotFound (Не найдена группа), хотя эта группа реально существует.
Спасибо.
Приложение:
Отправлен: 10.05.2007, 16:24
Вопрос задал: Gladiator (статус: 9-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Уваров Андрей Александрович
Здравствуйте, Gladiator!
Попробуйте использовать ф-ию ansiuppercase для преобразования имени группы в нужный формат.
Вот : здесь опсуждали определение является ли пользователь членом группы. Попробуйте преобразовать в добавление пользователя. + Там верно делаются приведение типов, возможно вы найдете в каком формате вам нужно передавать название группы. (WideChar?)
--------- Обращаться в ICQ: 66550088 (Ally) или E-Mail: AvePassion@GMail.Com
Ответ отправил: Уваров Андрей Александрович (статус: Студент)
Ответ отправлен: 11.05.2007, 12:20 Оценка за ответ: 2 Комментарий оценки: Для меня оказалось сюрпризом , что ф-я AnsiUpperCase используется для преобразования форматов; я всегда считал, что она служит для перевода кириллицы к верхнему регистру. А почему не AnsiLowerCase?
Вопрос № 86.340
День добрый, Уважаемые эксперты!!!
Написал я компонент, установил его, поюзал в приложении.
Все нормально.
А когда закрываю Дельфи (7 версия) пишет:
Access violation to address 00000000. Read of addresss 0000000.
Код в приложение не вместился, если надо вышлю.
Код - это, конечно, здорово, но лучше попробуйте разобраться сами (вмешательство посторонних людей в разработку компонента или программы не всегда идёт на пользу).
Итак, по вопросу... Если - значит, скорее всего, где-то не создан какой-то объект. Начните с конструктора (там, как правило, пишут первым делом inherited Create(AOwner); ), если всё нормально, то проверьте последовательность создания всех вспомогательных объектов наподобие TStringList.
Совет от меня. Если какие-либо объекты Вы используете только в одной (одном)процедуре-методе, то объявляйте этот объект в разделе var этой процедуры, создавайте в этой процедуре и удаляйте при любом выходе из процедуры (в том числе (!!!) и по Exit). Если же какие-либо объекты должны хранить свойство компонента, то объявляйте в секции private, создавайте один раз в конструкторе и удаляйте только в деструкторе. Впрочем, мне что-то подсказывает, что дело не в том, как объявлены переменные-объекты.
Спасибо за внимание и удачи!
С уважением, DimonSoft.
Ответ отправил: DimonSoft (статус: 2-ой класс)
Ответ отправлен: 10.05.2007, 23:28 Оценка за ответ: 4 Комментарий оценки: Да Вы говорите все правильно, но если мой модуль подключить руками и создавать объект моего класса в коде программы, то все работает нормально
Отправить вопрос экспертам этой рассылки
Приложение (если необходимо):
* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.
Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!
Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.
Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.