Текущий архив: 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.47 MB
Время: 0.038 c