Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 1 шаг до дурдома или прикольный глюк. 
:(
    Опции темы
GarryFV
Дата 18.2.2004, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 11.10.2002

Репутация: нет
Всего: нет



WinXP, D7
Как известно, глюки всякие бывают, но такого ещё не видел.

Сосбтвенноручно написанная программа отказывается корректно работать в каталогах
с определенным именем =8-[= =].
А именно - при выходе возникает
Exception EInvalidPointer по адресу 00002864.
Invalid Pointer operation.

Где - неясно. Где-то уже в оконечном коде по высвобождению ресурсов.
Причём закономерности я не обнаружил smile.gif
Вот варианты имён каталогов.

С:\RezCopy\GizExe\tttttt - Exception
такой же, только на D:
D:\RezCopy\GizExe\tttttt - Exeption
C:\RezCopy\GizExe\ttttt - нормально и вообще нормально,
если длина имени последней папки меньше 6-ти символов,
а если 6 и больше - Exeption.
Может влияет общая длина пути? Нет:

D:\TMP111111111111111111111111111111111111111111111111111 - нормально smile.gif

и ещё хит, если путь в котором возникает Exception
D:\RezCopy\GizExe\tttttt изменить на
D:\TMP\RezCopy\GizExe\tttttt - тоже всё нормально smile.gif))

Кто что думает по этому поводу?
Любые версии принимаются, даже самые абсурдные.

PM MAIL   Вверх
Unregistered
Дата 18.2.2004, 13:38 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Атрибуты посмотри
  Вверх
Cashey
Дата 18.2.2004, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: 2
Всего: 60



А у тебя в программе или в свойствах проекта ни где путь \RezCopy\GizExe\ не прописан, может в к таблице или базе данных обращение происходит?


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
Петрович
Дата 18.2.2004, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: 25
Всего: 55



Боюсь что имя каталога всего-навсего провацирует проявление совершенно другой ошибки. Подобное проявление могут иметь ошибки связанные с нарушением границ массивов(строк), использование неинициированных переменных (особенно локальных).

Что можно попробовать сделать:
1. Включи Warnings у компилятора и устрани их если есть конечно.
2. Включи Range checking
3. Выключи оптимизацию

Если не поможет, то далее процесс поиска, это уже индивидуальный процесс, зависящий от проги.



--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
GarryFV
Дата 18.2.2004, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 11.10.2002

Репутация: нет
Всего: нет



To Unregistered: Атрибуты не могут зависеть от имени каталога. Я же не переношу прогу из каталога в каталог, а переименовываю tttttt в ttttt.

to Cashey: Нет путь нигде не прописан. Обращение идет к Oracle по TCP/IP. Да и посмотри - пути самые разные в которых она работает и не работает. Например D:\TMP\1111...111\ - ничем не похож на другие, а в нём всё нормально.
Да, я ж только пути указал. Полное имя будет к примеру "D:\RezCopy\GizExe\tttttt\gis.exe"

Петровичу: Я не удивляюсь, что этот глюк есть, т.к. в некоторых местах мы весьма хитро работаем с памятью и если включить Range checking или оптимизацию, то вообще не будет работать smile.gif.
Особенно прикалывает оптимизация, когда этот очень умный компилятор подменяет куски кода таким образом, что всё идёт не так, как написано и "валится" вчистую.

Так вот - я не удивляюсь, что глюк есть, может где-то что-то и прошляпили (проект довольно монстроидальный), я "торчу" от условий его возникновения!
PM MAIL   Вверх
Vit
Дата 18.2.2004, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Тут всё понятно - хомут в памяти. Искать чрезвычайно сложно. Попробуй для начала включить в опциях компилляции "Range Check" и посмотреть как это влияет.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
GarryFV
Дата 18.2.2004, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 11.10.2002

Репутация: нет
Всего: нет



Ясно, что в памяти.
Почему от имени рабочего каталога зависит?

Я ещё понимаю, если б общая длина влияла - можно предположить, что более длинная строка что-то затирает.
А так - полный бред.

Ну да ладно, всё равно ж ничего из вышепреведённых условий не ясно.
Ясно, что прогу надо рыть, что при 2.2М исходниках (чисто только *.pas файлы) весьма затруднительно smile.gif.

Пока что эта штука работать не мешает, а там отщемим.
Или запишем known bugs : "Не помещайте программу в каталоги с именами [список] - это может привести к возникновению исключений при выходе из программы. Впрочем, если Вам это не мешает - помещайте куда хотите"

smile.gif

p.s. Тоже самое спросил на delphimaster, так ветку быренько удалили. Видать модерам название не понравилось или посчитали, что это чистый флуд, не имеющий ценности....
PM MAIL   Вверх
Vit
Дата 18.2.2004, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Цитата
Почему от имени рабочего каталога зависит?


Затирает чего-то в памяти... А то что не всегда, так откуда ты знаешь? Боюсь тебя огорчить, но скорее всего всегда, только не известно что в этой области памяти хранится и как это на ней отображается, может затирается не код, а какие-то данные, и подмена данных приводит к глюку не всегда, а только если на определённых местах чего-то стоит. Мало того, выход в том чтобы не рекомендовать определённые имена тоже не подходит, с большой долей вероятности на других компьютерах и при других условиях вылет быдет в других местах... Ещё раз предлагаю посмотреть мой совет:

Цитата
Попробуй для начала включить в опциях компилляции "Range Check" и посмотреть как это влияет.





--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
GarryFV
Дата 19.2.2004, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 11.10.2002

Репутация: нет
Всего: нет



Про Range Check я раньше писал smile.gif

Да найдём, конечно.

Я больше не за советами, а приколом поделиться. Глюк вылезает все-таки стабильно в каталогах с ОПРЕДЕЛЁННЫМИ ИМЕНАМИ. Условия, конечно, могут меняться, но в данном случае тест состоит только из запуска и закрытия проги.

З.Ы. тебе до 6666 три сообщения осталось smile.gif
PM MAIL   Вверх
p0s0l
Дата 19.2.2004, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



А если попробовать каталог такой же длины, например:
С:\RezCopy\GizExe\uuuuuu
что будет ?

И путь у тебя в какой переменной хранится (если хранится) ? (её тип)



--------------------
С уважением, г-н Посол.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0510 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.