![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Приложение не стартует на других машинах... [D7, XP]
TrainerOfDolphins © (2006-12-07 10:40:00)Добрый день!
Экзотическая трабла...
Моя программа абсолютно нормально работает на моей машине, но вообще не стартует на машине юзера. Возникает сообщение вроде "Приложение вызвало ошибку и будет закрыто. Создан журнал ошибок".
И всё. Ни о том какая именно ошибка возникла, ни о том, чего не хватает ни какой информации не даётся. Судя по всему, программа вообще не запускается и никуда не доходит, т. е. проблема не в самой программе. В тех местах кода, где теоретичеки могли бы возникнуть проблемы я вписал ShowMessage. Месаги не возникают, значит туда дело не доходит.
У юзера стоит Windows 2000 Professional. Старые варианты проги у него работали без проблем.
У меня XP. На машинах колег, где так же стоит ХР возникает аналогичное сообщение, только вид другой. Там ещё предлагают отправить отчёт об ошибке. Но приложение всё равно не стартует.
Подскажите, пожалуйтса, где искать?
Моя версия: что-то я умудрился выставить в настройках компилятора такое, что выполнимом коде появляется нечто, что напрочь не воспринемается другой системой. Только вот что? По идее уже выставил всё, как было по умолчанию и сделал BuildProject. Не помогло.
Буду благодарен за любую подсказку...
sniknik (2006-12-07 17:33:00) [1]> приложение в рантайме пыталось подсоедениться к базе по пути, который я там когда-то прописал.
естественно, как только пытаешься выполнить запрос/открытие, оно и должно пытаться подсоединится... смысл в том что это делается уже тобой, со всеми мерами предосторожности (try except) и как минимум понятную ошибку, почему не удается, ты получить обязан.
в отличие от, когда открыт коннект в дизайн-тайме тогда старт происходит гдето в недрах VCL, на что тебе уже повлиять не удастся...
> Неправильным был пароль в Params
вот это ты и должен был по предложенной схеме получить (доступ запрещен/неверный пароль и т.д. от сервера зависит), а не уже сообщение виндов о закрытии твоей программы изза внутренней ошибки.
TrainerOfDolphins (2006-12-07 14:07:00) [2]
> sniknik © (07.12.06 12:57) [24]
Даже когда в дизайн-тайме я установил TIBDataBase.connected в false, приложение в рантайме пыталось подсоедениться к базе по пути, который я там когда-то прописал. Но путь был правильный. Неправильным был пароль в Params, а Loginpromt стоит в false.
Эх... Вот как бывает из-за кривых рук :)
Спасибо всем. Всё вроде работает.
sniknik (2006-12-07 12:57:00) [3]> Похоже я как-то криво настроил TIBDataBase :(. Я уже близок к разгадке.
основная допускаемая ошибка в использовании коннекторов к базе это то, что при старте программы они активны... (таблицы/запросы открыты в дизайне), закрой коннект в дизайне, а открытие запросов делай по необходимости в рантайм, и в блоках try except, ошибку сохраняй в лог но не в коем случае не блокируй! (т.е. пустых обработчиков, или подмен на собственные сообщения оригинальных не должно быть... добавить чтото свое к оригинальному, это можно)
TrainerOfDolphins (2006-12-07 12:03:00) [4]
> Ну может разные версии IB у тебя и клиента. Старая прога
> с таким же IB как и новая?
Да.
Дело не в версиях. Похоже я как-то криво настроил TIBDataBase :(. Я уже близок к разгадке.
Elen (2006-12-07 11:50:00) [5]
> TrainerOfDolphins
Ну может разные версии IB у тебя и клиента. Старая прога с таким же IB как и новая?
TrainerOfDolphins (2006-12-07 11:47:00) [6]
> начит предварительно проверь версии
В смысле? Не понял... :)
Elen (2006-12-07 11:40:00) [7]
> Хоть ясно, где искать...
>
Значит предварительно проверь версии
TrainerOfDolphins (2006-12-07 11:38:00) [8]Пардон. Таки дело в IB. Оказывается не всё прибил. Когда прибил всё - приложение заработало. Ура. Хоть ясно, где искать...
Игорь Шевченко (2006-12-07 11:27:00) [9]
> "Приложение вызвало ошибку и будет закрыто. Создан журнал
> ошибок".
там кнопочка есть (или сслыка) посмотреть детали.
Кроме того, в EventLog создается запись с типом Application.Popup
Содержимое в студию
Elen (2006-12-07 11:26:00) [10]
> TrainerOfDolphins
FastReport завали.
TrainerOfDolphins (2006-12-07 11:23:00) [11]Прибил открытие базы и всякое к ней обращение. Не помогло.
TrainerOfDolphins (2006-12-07 11:20:00) [12]
> Принтер у юзверя есть?
Корпоративный. один на весь кабинет
iXT (2006-12-07 11:18:00) [13]Принтер у юзверя есть?
Elen (2006-12-07 11:16:00) [14]
> TrainerOfDolphins
Ну так временно выкинь Fast.
TrainerOfDolphins (2006-12-07 11:14:00) [15]Есть. Только я не помню эта же версия, или нет.
Elen (2006-12-07 11:10:00) [16]
> Куда проще прибить FastReport
А в старом варианте FastReporta этого нет?
TrainerOfDolphins (2006-12-07 11:08:00) [17]
> А если временно убрать IB из проги и попробовать?
Весьма проблематично. Придётся весь код перелапатить.
К тому же старый вариант проги продолжает стартовать и работать.
Куда проще прибить FastReport :).
Elen (2006-12-07 11:04:00) [18]
> TrainerOfDolphins
А если временно убрать IB из проги и попробовать?
TrainerOfDolphins (2006-12-07 11:02:00) [19]
> Вот тут скорее всего. IB стоит у клиентов?
Вышло так, что и IB сервер и пользовательское приложение находится у юзера на машине.
Elen (2006-12-07 10:57:00) [20]
> А где он? Пардон за глупый вопрос...:)
Чесс слово только догадываюс - настройки-администрирование-просмотр событий-приложения