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

Вниз

Прога закрывается сразу после запуска - 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.055 c
14-1096573366
_silver
2004-09-30 23:42
2004.10.24
Методы оптимизации.


8-1091114404
parovoZZ
2004-07-29 19:20
2004.10.24
16 разрядов и 32


1-1097233522
JMasta
2004-10-08 15:05
2004.10.24
Наглядное хранение записей


3-1096212833
001
2004-09-26 19:33
2004.10.24
TADOTable.Active: "Invalid variant type conversions."


4-1095613838
debuger
2004-09-19 21:10
2004.10.24
Работа с портами





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский