Лена |
Отправлено: 27.09.2006, 15:45 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
В своей программе использую специализированную форму ReconcileErrorForm от Borland обработки ошибок при работе с базой данных. Эта форма находиться в репозитраии. Интерфейс окна я руссофицировала. Подскажите как руссофицировать сообщения об ошибках в этом окне. Рисунок прилагаю.
Присоединить изображение
|
|
Admin |
Отправлено: 27.09.2006, 19:18 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Ну может попробовать по EReconcileError свойству ErrorCode
Вывод сообщения, как я понял, осуществлятся в FormCreate():
CODE | ErrorMsg->Text = FError->Message; |
Вот в этом месте вместо этой строчки получать FError->ErrorCode
и по нему поставить свой блок типа switch() или if() в которых и
поместить сообщения на русском языке об ошибках.
Но это придется сначала найти все эти ErrorCode и выдаваемые
при них Message, перевести их на русский.
|
|
Лена |
Отправлено: 28.09.2006, 11:41 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
Спасибо, теперь понятно где вносить изменения. Не знаете, где можно посмотреть список кодов ErrorCode с расшифровкой на английском? Что-то в справке не нахожу или надо искусственно создавать исключения при работе с базой и вычислять код ошибки самостоятельно?
|
|
Gedeon |
Отправлено: 28.09.2006, 12:31 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
ну зачем же, можно в инете поискать, а можно по h-файлам пройтись.
|
|
Лена |
Отправлено: 15.10.2006, 19:17 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
Мне удалось найти расшифровку:
http://icmp.ru/man/dbms/pgsql/8.1/errcodes...s-appendix.html
http://www.postgresql.org/docs/8.1/static/...s-appendix.html
А здесь с переводом:
http://pgsql74.sourcesdb.com/r.php?num=1059
Подскажите начальный вид switch и где именно точно его надо разместить.
Спасибо.
Отредактировано Лена — 19.10.2006, 10:52 |
|
Admin |
Отправлено: 15.10.2006, 21:37 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Оформить в виде своей функции, типа
AnsiString GetPostgreSQLError( int ErrorCode )
в FormCreate() вместо CODE | ErrorMsg->Text = FError->Message; |
вызывать эту функцию
CODE | ErrorMsg->Text = GetPostgreSQLError( FError->ErrorCode ); |
А в GetPostgreSQLError() поместить этот switch или если кодов много -
оформить их в видеCODE | map<int, AnsiString> | или сделать свой класс типа int,AnsiString.
Также может будет удобным поместить на отдельную форму
компонент ValueListEditor и все коды — в него. Тогда можно
сохранять эти коды/значения в файл, редактировать, читать из файла.
|
|
Лена |
Отправлено: 16.10.2006, 09:49 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
Спасибо за подробный ответ!
Попробую реализовать. |
|