Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Получить по коду ошибки EDBEngineError её описаниe. [D6, D7, MSSQL]


Страницы:   1 2

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]

Описание будет не по-русски!
И на кой это надо?!


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо