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

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

Как грамотно закрыть базу данных? [D6]


Страницы:   1 2 3 4 5 6

Lizka ©   (2004-08-09 13:13:00) 

Я делаю так:
with Conn.Connection do begin  ADOQueryTown.Close;  ADOQueryFinPr.Close;  ADOQueryPr.Close;  ADOConnection.Connected := false; end; close;

Но выдается окошко CPU и после этого приходится делать Programm Reset :(


Danilka   (2004-08-10 11:29:00) [81]

[35] Lizka ©   (10.08.04 10:58)
К Ороклу через АДО? Честно говоря, никогда не пробовал. Возможно проблема не в Дельфи и не в программе, а в драйверах.


Lizka   (2004-08-10 11:28:00) [82]

Наверно у тебя по умолчанию они уже были... Сейчас попробую установить и напишу о результатах


46_55_41_44   (2004-08-10 11:27:00) [83]

Есть конечно есть... Правда не Oracle как у тебя...
Просто любую базу подставил ... и все


Lizka   (2004-08-10 10:58:00) [84]

А ты тестируешь на бд или без неё? У тебя вообще есть бд?


46_55_41_44   (2004-08-10 10:41:00) [85]

Да нет... ничего такого, чего у тебя нет! Стандартный пакет


Lizka   (2004-08-10 10:37:00) [86]

а ты что-нибудь ставил на Дельфи?


46_55_41_44   (2004-08-10 10:14:00) [87]

сервис паки 1,2? нет честно говоря не знаю!


Lizka   (2004-08-10 10:11:00) [88]

Знаешь, я сделала тоже самое на С Builder 6 + сервис паки 1,2 и там такой ошибки не возникло... Т.е. просто надо их найти... Ты случайно не знаешь - где?


46_55_41_44   (2004-08-10 09:50:00) [89]

попробуй сделать MAainADOConnection.Mode ---> cmShareDenyNone прям в Object Inspektor


Lizka   (2004-08-10 09:41:00) [90]

посмотри active. тк у тебя нет базы, то у MAainADOConnection.Connected = false и у всех Query.Active = false. И поэтому всё работает.

Я всё сделала, так как ты сказал


begin
 Application.Initialize;
 Application.CreateForm(TConnect, Connect);
 Application.CreateForm(TFinProductApplication, FinProductApplication);
 Application.CreateForm(TFinProductSecondApplication, FinProductSecondApplication);
 Application.Run;
end.


46_55_41_44   (2004-08-10 09:39:00) [91]

Я ничего твоего не меняю!
но у меня же нет Oracle и тем более базы с твоей конфигурацией!
Ты  точно все делаешь как я тебе говорю????


Lizka   (2004-08-10 09:36:00) [92]

А у тебя у всех Query Active = false стоит? У меня когда так - всё тоже работает


46_55_41_44   (2004-08-10 09:33:00) [93]

program FinPr;

uses
 Forms,
 FinProduct in 'FinProduct.pas' {FinProdApplication},
 Conn in 'Conn.pas' {Connection: TDataModule},
 FinProductInfo in 'FinProductInfo.pas' {SecondFinPrApplication};

{$R *.res}

begin
 Application.Initialize;
 Application.CreateForm(TConnection, Connection);
 Application.CreateForm(TFinProdApplication, FinProdApplication);
 Application.CreateForm(TSecondFinPrApplication, SecondFinPrApplication);
 Application.Run;
end.

Вот так надо сделать! Скопируй это в FinPr.dpr


46_55_41_44   (2004-08-10 09:30:00) [94]

У меня тоже ошибку выдавало... Я сделал так, как тебе сказал!!! И все нормально заработало!


46_55_41_44   (2004-08-10 09:29:00) [95]

Тогда сделай форму FinProdApplication FormStyle - fsMDIForm!


Lizka   (2004-08-10 09:26:00) [96]

Знаешь, я переставила это местами и ничего не поменялось...
Такая же ошибка...


46_55_41_44   (2004-08-10 09:18:00) [97]

Солнышкооо... Я нашел!!! :)))
Слушай мой тебе совет, если пишешь что-нибудь стоящее по сделай с MainForm-ом...
А ошибка твоя вот в чем:

begin
 Application.Initialize;
 Application.CreateForm(TFinProdApplication, FinProdApplication);
 Application.CreateForm(TConnection, Connection);
 Application.CreateForm(TSecondFinPrApplication, SecondFinPrApplication);
 Application.Run;
end.
а надо, чтобы было вот так:
begin
 Application.Initialize;
 Application.CreateForm(TConnection, Connection);
 Application.CreateForm(TFinProdApplication, FinProdApplication);
 Application.CreateForm(TSecondFinPrApplication, SecondFinPrApplication);
 Application.Run;
end.

дело в том, что форма TFinProdApplication открывалась модально! Значит TConnection еще не создается... Так как Компилятор останавливается на строчке Application.CreateForm(TFinProdApplication, FinProdApplication);!!! Следовательно ты пытаешься закрыть, то что еще не открыла!


Lizka   (2004-08-10 08:56:00) [98]

Только он у меня перестал открываться. Говорит StackOverflow и вся дельфя сворачивается :(
Я ничего не понимаю... Но думаю, что это из-за некорректного закрытия базы


Lizka   (2004-08-10 08:52:00) [99]

переслала


46_55_41_44   (2004-08-10 08:22:00) [100]

Давай датамодуль...
А еще лучше перещли весь проект на мое мыло!
Он мне нужен как собаке 5 нога, если ты боишься, что я что-то там украду )))
Просто я на самом деле помочь хочу!!!


Страницы:   1 2 3 4 5 6

Наверх

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