Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: CL | DM;

Вниз

Прога закрывается сразу после запуска - ADO ???   Найти похожие ветки 

 
Донской   (2004-09-20 23:55) [0]

День добрый!!!
Точнее вечер. Если кто не спит и в курсе дела - почему моя прога, написанная в delphi 6 update2, использующая ado компоненты, на других машинах просто не запускается?
Под NT системой сразу закрывается безо всяких сообщений, а в win98 сообщает, что Ошибка доступа к странице памяти в модуле krnl386.exe....
Во всех случаях даже окно не показывается. В чем дело никак не пойму, вроде все стандартные компоненты...
Из особенных - mediaplayer, lmd для delphi6 (а именно dirdlg), ado, rxdataedit (из версии для delphi6), ну и все, остальное всякие панельки да кнопочки...


 
Донской   (2004-09-21 00:01) [1]

вернее rxdatEedit


 
sniknik ©   (2004-09-21 00:07) [2]

ADO не виновато! access тоже! иши в другом месте... (максимум что может быть, это устаревшие драйвера jet и ADO, могут быть глюки но вот так без предупреждений проги не закрываются) если только пустышек try/except не навставлял... (без обработки ошибок, тогда может и молча)
хотя конечно все бывает в первый раз. ;о))

скорее это будет mediaplayer. имхо, после кривых рук это главная причина (нестандартные компоненты) ;о)).


 
Донской   (2004-09-21 00:12) [3]

Дык не в первый раз же прогу пишу.
пустышек нет точно, только finally.
только обрадовался что в d6 нет глюков с ADO, какие в d5 были, и тут на тебе, новая проблема.
ХОрошо, значит будем искать не в ADO.
Mediaplayer стандартный, а вот lmd компоненты в d6 кто-нибудь использовал?


 
Oksana ©   (2004-09-21 09:57) [4]

у меня такое было, когда в ADOConnection ->  ConnectionString  что-то не так с настройкой, а Connected установлен в true

к примеру, с твоей машины у тебя есть доступ к SQL-серверу, поэтому нормально запускается, а на другой машине, для другого пользователя нет доступа, то при попытке коннекта - отбой


 
Dalamar   (2004-09-23 15:43) [5]

Полность согласен с Oksana.
У меня похожий глюк наблюдался в связке ADOConnection к MySQL.
У меня в оригинале во время запуска проги появляется диалог авторизации, данные из которого после ввода, помещаются в ADOConnection.ConnectionString и после удачной авторизации открывается основное окно.
Все работало замечательно на той машине, где она компилилась (win 2000 pro sp4). Под XP приложение вообще не запускалось при чем без указания ошибки.
В итоге выяснилась причина. Оказалось, что я когда-то поставил ADOConnection.active:=true в designtime (со старыми настройками connectionstring) и в итоге в runtime прога безуспешно пыталась соедениться с сервером, который был не доступен с машины, на которой она запускалась.


 
Dalamar   (2004-09-23 15:52) [6]

Кстати нет ли у кого обработчика исключительных ситуаций для двух случаев во время подключения по ADOConnection:
- Ошибка авторизации (неверный логин\пароль)
- Ошибка соединения (если нет сети или связи с сервером)
Если есть, поделитесь пожалуйста,ответив здесь или по мылу pikulik@mail.ru
Заранее признателен!


 
KSergey ©   (2004-09-23 15:52) [7]

> [5] Dalamar   (23.09.04 15:43)
> и в итоге в runtime прога безуспешно пыталась
> соедениться с сервером, который был не доступен с машины,
> на которой она запускалась.

Вы путаете принципиально разные вещи: одно дело запускается с ошибкой (описанный случай), другое дело - слетает без предупреждений (исходный вопрос). Это разные вещи совершенно!

Как вариант - поставить на клиентских машинах необходимую версию MDac, если она там младше.

> только обрадовался что в d6 нет глюков с ADO, какие в d5 были

Это какие?? Вроде все уж пропатчены давно...


 
sniknik ©   (2004-09-23 15:56) [8]

Dalamar   (23.09.04 15:43) [5]
ну так оно у тебя просто "вешалось", подвисало на тот таймаут который ты там установил. но не вылетало же с тем что ошибка в ядре.

> ADOConnection.active:=true в designtime
в компаненте
никогда не нужно ставить... уже понял почему, да? ;о)))
(после проверок, и/или в блоке try в самой программе надо)


 
имя   (2004-09-23 16:11) [9]

Удалено модератором


 
Dalamar ©   (2004-09-23 17:24) [10]

"в компаненте
никогда не нужно ставить... уже понял почему, да? ;о)))"

Поправка: Я имел в виду, что поставил временно для каких-то экспериментов. Разумеется я активирую соединение только после ввода логина и пароля и эти данные помещаю в connectionstring и только потом активирую :)

Однако вопрос об обработке Exceptions во время подключения остается открытым!


 
Dalamar ©   (2004-09-23 18:28) [11]

Вопрос об обработке Exceptions во время подключения ЗАКРЫТ!

try
 ADOConnection1.Connected:=True;
except
   on E: Exception do
     begin
       case ADOConnection1.Errors.Item[0].NativeError of
         1045: ShowMessage("Ошибка авторизации на сервере.");
         2003: ShowMessage("Невозможно установить соединение с сервером.")
       end;
     end;
end;



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

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.023 c
4-1095572440
SergP.
2004-09-19 09:40
2004.10.24
Работа с СОМ-портом


3-1096028098
Плюс
2004-09-24 16:14
2004.10.24
Как установить BDE?


6-1091605769
Александр1
2004-08-04 11:49
2004.10.24
Доступ к диску


14-1096902511
X9
2004-10-04 19:08
2004.10.24
Новое сокращение или долой "программно"


3-1096443366
NewDelpher
2004-09-29 11:36
2004.10.24
Апострофы в MS SQL