![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получить по коду ошибки EDBEngineError её описаниe. [D6, D7, MSSQL]
IronHawk © (2003-07-09 14:33:00)На форме есть:
Edit- в который будет вводиться код в виде числовом виде (скажем $2501 или просто 2501)
Button- по нажатию которого описание ошибки, введенной в Edit, должно появляться в Memo
Memo- в котором долно появляться описание.
Anatoly Podgoretsky (2003-07-17 07:53:00) [1]Посмотри пример в {DELPHI}\Demos\Db\DbErrors
IronHawk (2003-07-11 13:02:00) [2]
> sniknik © (11.07.03 12:32)
Ну я их заремил и до компилятора...
просто было интересно, чего енто такое.
sniknik (2003-07-11 12:32:00) [3]слушай а оно тебе надо? ну нельзя же все буквально повторять/копировать.
открой модуль DBTables найди их там
и то и другое процедуры от сесии
procedure TSession.LockSession;
но ты же вроде от нее хочеш избавится, так зачем тебе ее блокировать? и создавать сначала... просто выкини их из процедуры.
IronHawk (2003-07-11 12:16:00) [4]
> sniknik © (11.07.03 11:55)
Может, а следующим номером в регательстве компидятора идёт
LockSession и!
UnlockSession
sniknik (2003-07-11 11:55:00) [5]не может быть, если все сним нормально то и типы должны видется.
видать без кода не обойтись. у тебя так?
uses BDE;
{$R *.dfm}
procedure TDMod.DataModuleCreate(Sender: TObject);
var
Cursor: HDBICur;
Desc: DBDesc;
....
IronHawk (2003-07-11 11:38:00) [6]
> sniknik © (10.07.03 18:29)
С ним, всё нормально, и с юнитами DB и DBTables тоже, но идёт ругня наHDBICur и DBDesc!
sniknik (2003-07-10 18:29:00) [7]самый главный ... BDE (и как ты без наго до сих пор? :о))
IronHawk (2003-07-10 17:26:00) [8]
> sniknik © (10.07.03 17:20)
Какой юнит надо подрубить, чтоб заработали переменные:
var
Cursor: HDBICur;
Desc: DBDesc;
sniknik (2003-07-10 17:20:00) [9]посмотри как она делает и делай также
procedure TSession.GetAliasNames(List: TStrings);
var
Cursor: HDBICur;
Desc: DBDesc;
begin
List.BeginUpdate;
try
List.Clear;
LockSession;
try
Check(DbiOpenDatabaseList(Cursor));
finally
UnlockSession;
end;
try
while DbiGetNextRecord(Cursor, dbiNOLOCK, @Desc, nil) = 0 do
begin
OemToChar(Desc.szName, Desc.szName);
List.Add(Desc.szName);
end;
finally
DbiCloseCursor(Cursor);
end;
finally
List.EndUpdate;
end;
end;
IronHawk (2003-07-10 15:49:00) [10]
> sniknik © (10.07.03 12:42)
Мне надо алиалы вывести до сесии
sniknik (2003-07-10 12:42:00) [11]надеюсь это не для вышеизложенного извращения? ;о)) (там просто незачем, указать путь вместо алиаса ...)
для других целей получить список для СомбоБокса не проблема, есть же GetAliasNames у сесии.
IronHawk (2003-07-10 12:20:00) [12]
> sniknik © (09.07.03 22:25)
Ну, типа, работает, спасибо.
Осталосье ещё сваять так, чтоб при старте можно было в СомбоБоксе выбирать BDE алиас к какому коннектиться...
sniknik (2003-07-09 22:25:00) [13]изучи код внимательней :о), это и есть извращение которое будет давать message от номера введенной ошибки. и именно только где BDE установлен, где его нет уже Query1.Open вернет ишибку. впрочем Query не обязателен можно Table и что угодно в нем открыть (инициализацию BDE сделать), хоть текстовый файл с описанием сей "крутой" проги.
IronHawk (2003-07-09 18:57:00) [14]
> sniknik © (09.07.03 18:11)
Да, но есть один трабл, это всё при выполнении какой-либо операции с базой, а мне просто описание всех ожибок нужно.
И чтоб работало только на тех машинах, на которых BDE стоит.
Просто нужно по коду вводимой ошибки описалово давалось, при отсуцтвии операции с какой либо БД, просто вскрывался BDE и оттуда тянулиьс ерроры...
Как бы так извратиться?
sniknik (2003-07-09 18:11:00) [15]непонятно чем, и в чем проблема,
весь код (если я конечно правильно понял, разбиратся во всем что ты понаписал/скопировал увольте :о)) вот
try
Query1.Open;
raise EDBEngineError.Create(StrToIntDef(Edit1.Text, 0));
except
on E: EDBEngineError do ShowError(E);
end;
Query1.Open; обязательно должна завершатся нормально, иначе дальше не пройдет, убирать нельзя иначе вручную надо все создавать сессии ... т.д. ShowError твоя же процедура см. выше.
для проверки введи в едит 10024 (нет таблици), естественно не все цифры означают ошибки (0 успешное выполнение).
IronHawk (2003-07-09 17:30:00) [16]А может, всё таки, кто-то поможет?
IronHawk (2003-07-09 14:58:00) [17]
> DenK_vrtz © (09.07.03 14:50)
Чем тебе задача не угодила?
Что-то в ней не ясно?
Ну, НАДО мне тагой расшифровщик, был он у меня, а теперь сплыл, нужно новый и БЫСТРО наваять.
Помоги лучше проблемму решить, а не задачу поменять!
DenK_vrtz (2003-07-09 14:50:00) [18]Смысл задачи то в чем?! Может все проще?
IronHawk (2003-07-09 14:39:00) [19]
> DenK_vrtz © (09.07.03 14:37)
Ок!
Англ, супер!
НАДО!
DenK_vrtz (2003-07-09 14:37:00) [20]Описание будет не по-русски!
И на кой это надо?!