Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];

Вниз

Исключение при выходе их программы.   Найти похожие ветки 

 
EugenePichugin   (2004-02-09 10:15) [0]

На форме есть компонент ADOConnection настроенный на базу Oracle.
Если он не активен то форма запускается и закрывается нормально. Если же его открыть, то все запросы работают нормально, но при закрытии формы возникает исключение, причем закономерность четкая :
если соединение было открыто (даже потом закрыто), то исключение при закрытии формы
если нет - то все нормально

Если кто сталкивался - подскажите что делать?

может дело в ADO провайдере
у меня выставлен ADO provider для Oracle, может попробовать через ODBC ???

Спасибо.


 
sniknik   (2004-02-09 10:43) [1]

> может дело в ADO провайдере
нет, дело явно в 17-й строке.


 
EugenePichugin   (2004-02-09 10:45) [2]

пробовал создавать и удалять соединенние динамически
ошибка врзникает именно при вызове метода Destroy

MyCon := TADOConnection.Create(Self);
MyCon.ConnectionString := "Provider=MSDASQL.1;Password=pas;Persist Security Info=True;User ID=us1;Data Source=vbase";
MyCon.Connected := True;

MyCon.Connected := False;
MyCon.Destroy; // ошибка


что делать.... ?


 
sniknik   (2004-02-09 11:01) [3]

читай хелп
Description

Do not call Destroy directly in an application. Instead, call Free. Free verifies that the ADO connection is not nil, and only then calls Destroy.

Destroy performs the following tasks:

Closes the connection.

Destroys its list of associated datasets.
Checks for unprocessed connection events.
Destroys its connection interface.
Calls the inherited destructor.

(но это не значит что нет еще другой ошибки, вообще сообщение что там выдается прамо указывает на тип глюка попробуй еще и его прочитать)


 
EugenePichugin   (2004-02-09 11:12) [4]

Хрень вообще интересная происходит

Destroy и Free тут не причем.

Исключение возникает только в IDE

при запуске из вне - ничего не происходит...


 
Vlad   (2004-02-09 11:17) [5]


> EugenePichugin (09.02.04 11:12) [4]

приведи сообщение об ошибке


 
EugenePichugin   (2004-02-09 11:22) [6]

выскакивает отладчик

а потом сообщение
project foulted with message
access violation at ... read address ...

вот так


 
sniknik   (2004-02-09 11:51) [7]

> access violation at ... read address ...
скорее всего происходит при обращении к несозданому или уже уже уничтоженному обьекту. (если у тебя практика Destroy везде использовать то не удивительно)

кстати еще одно заметил что может привести к глюку (и это только в 4 показанных строчках ;о)

MyCon := TADOConnection.Create( Self);
раз сам его удаляеш ставь nil.


 
EugenePichugin   (2004-02-09 11:53) [8]

Да суть вообще не в этом
это я написал чтоб проверить где глючит
вообще то - статический компонент на форме
я не destroy ни free не пишу

просто сам факт появления отладчика - странно


 
Vlad   (2004-02-09 12:05) [9]


> EugenePichugin (09.02.04 11:53) [8]

Убей компонент с формы, сохрани проект, затем снова добавь компонент


 
EugenePichugin   (2004-02-09 12:31) [10]

проверял
нифига


 
sniknik   (2004-02-09 13:00) [11]

хочеш сказать что в проверке только показаные строчки участвуют? т.е. ни таблиц не подключаеш ни событий в них не прописываеш... только то что показано, на чистой форме, не на MDIChild а на нормальной, и закрываеш именно эту форму а не приложение предварительно не закрыв Child-а?

тогда действительно странно.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
4-12586
Yuri Btr
2003-12-28 18:50
2004.03.05
Форма из ресурса и стиль отображения её


8-12458
LEON88
2003-10-31 00:43
2004.03.05
Программа поверх игры


9-12223
lokid7
2003-08-18 13:08
2004.03.05
Скелетная анимация


3-12234
Sergey Merkuriev
2004-02-09 17:53
2004.03.05
MS SQL 2000 книги или доки по русски


1-12369
s_ser
2004-02-25 11:47
2004.03.05
Тип данных TDateTime





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский