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

Вниз

Совместимость D6 & D7   Найти похожие ветки 

 
DimonS ©   (2006-11-02 15:16) [0]

Доброго времени суток всем.
Есть такой вопросик, вернее проблемка.

Года два стояла у меня D6, русская версия. Решил поставить D7. Поставил, подключил все библиотеки, что были у меня, все заработало, проекты открываются и компилируются на ура. Кроме одного.

Есть у меня программка, работающая через ADO с Access-овской базой + база MS SQL.
БЕЗ ВСЯКОГО изменения, после компиляции в D7 она возросла: вместо 2,27 Мб (в ней ок. 20 форм, хотя они и создаются в реалтайме) она стала 2,38, причем абсолютно ничего не добавлял и не изменял.

НО! Самый прикол в том, что на моем компе, с устаносленной Дельфёй она запускается отлично, на других выдает табличку "Программа выполнила недопустимую операцию и будет закрыта". Опробывал на W-2000 и W-XP. Результат один.

ЗЫ. Ошибка происходит где-то до процедуры создания формы. Где - неизвестно, несколько тысяч процессов отлавливать F8 как-то не прельщает. Может кто сталкивался с такой проблемой, подскажите?

ЗЫЗЫ. Другие проекты с ADO после компиляции работают нормально.


 
DVM ©   (2006-11-02 15:59) [1]


> вместо 2,27 Мб


> она стала 2,38

Это конечно очень, очень плохо при современных маленьких 500 Гбайтных винчестерах.

> несколько тысяч процессов отлавливать F8

Что еще за тысячи процессов?


 
Desdechado ©   (2006-11-02 15:59) [2]

Размер вырос - это нормально. Ведь классы и библиотеки дорабатываются от версии к версии.
А по поводу ошибки - скомпилируйся с отладочными версиями компонентов. Поставь бряк-пойнт на первой же команде в DPR и запускай. Дальше тебе отладчик при ошибке вывернет место.


 
DimonS ©   (2006-11-02 16:06) [3]


> Desdechado ©   (02.11.06 15:59) [2]


> А по поводу ошибки - скомпилируйся с отладочными версиями
> компонентов.

Извини, это как? Что за отладочные версии компонентов?

Дело в том, что пробовал установить D7 на другую машину. Тоже ошибок нет, запускается программка отлично. Но где Delphi не установлено - ошибка, и как ее отловить не знаю.


 
Anatoly Podgoretsky ©   (2006-11-02 16:23) [4]

> D6, русская версия

Такого Борланд не производил


 
Desdechado ©   (2006-11-02 16:24) [5]

> Что за отладочные версии компонентов?
В настройках use debug dcu"s

> где Delphi не установлено - ошибка, и как ее отловить не знаю.
Значит, используешь какие-то компоненты, которые идут в отдельных DLL\BPL. Таскай их с собой.


 
DimonS ©   (2006-11-02 16:31) [6]

> Anatoly Podgoretsky ©   (02.11.06 16:23) [4]
> > D6, русская версия
>
> Такого Борланд не производил

Действительно, попалась сразу русифицированная, каюсь.


> Значит, используешь какие-то компоненты, которые идут в
> отдельных DLL\BPL. Таскай их с собой.


Брррр... Можно поподробнее? Все БИБЛИОТЕКИ, перечисляю: EhLib, FastReport, RxLib.  В D6 с ними проблем небыло ни разу. В D7 настроил их точно так же по мануалу. И как их таскать с собой я не представляю.


 
Desdechado ©   (2006-11-02 16:44) [7]

Ну, например, TClientDataset требует midas.dll или uses midaslib.
uses ShareMem требует borlndmm.dll
и т.п.


 
DimonS ©   (2006-11-02 16:50) [8]


> Desdechado ©   (02.11.06 16:44) [7]
> Ну, например, TClientDataset требует midas.dll или uses
> midaslib.
> uses ShareMem требует borlndmm.dll
> и т.п.


Это зависит от того, Делфи 6 или Делфи 7 стоять будут?


 
DimonS ©   (2006-11-02 17:03) [9]

ТО Moderator

А все-таки совместимость разных версий относится к ПРОЧИМ проблемам? Я так думал, что это вроде кк общая. По существу, у меня именно как не работают программы, скомпилированные на Делфи 7, в то время как на Делфи 6 они перекопилированные работают на ура.


 
DimonS ©   (2006-11-03 01:56) [10]

Ну что, никто с такой проблемой не сталкивался, я первый? :)


 
ЮЮ ©   (2006-11-03 09:29) [11]


> проекты открываются и компилируются на ура


Не верю. Должно было появится куча warning-ов. Или ты на такую "мелочь" внимания не обращаешь?

З.Ы. ADO-приложения с MS SQL, скомпилированные D7(D6) без проблем запускаются на других компьютерах. Может БДЕ-шные модули прихватил где в Uses. Попробуй поставить D на проблемнов комп-е без БДЕ


 
DimonS ©   (2006-11-03 14:36) [12]


> Не верю. Должно было появится куча warning-ов.

Хм... Нету, в том то и дело.


> Может БДЕ-шные модули прихватил где в Uses

Не использовал ни разу в этой программе БДЕ. В других было дело, но запустились после компиляции нормально на всех компах.

Да. Еще такое уточнение. При запуске программы сначала появляется заставка, а после уже сама главная форма. Может из-за этого быть такие проблемы? Просто небыло времени сегодня проверить это...


 
Сергей М. ©   (2006-11-03 14:52) [13]

Ты не ответил про "несколько тысяч процессов".

Судя по терминологии - дилетантство откровенное.
Вряд ли ты справишься с проблемой при этом)


 
DimonS ©   (2006-11-03 15:00) [14]


> Сергей М. ©   (03.11.06 14:52) [13]
> Ты не ответил про "несколько тысяч процессов".


Не так выразился, наверное. На своем компе нечего отлавливать - и так нормально запускается программа, так что F8 не поможет никак. На других с установленной Д7 тоже. Но на тех, где нет Д7 выдает ошибку. КАК ее отловить на другом компе - подскажите, не силен в таких вопросах.


 
Сергей М. ©   (2006-11-03 15:05) [15]


> КАК ее отловить на другом компе


Для начала проанализировать зависимости исп.модуля от bpl/dll


 
DimonS ©   (2006-11-03 15:55) [16]


> Сергей М. ©   (03.11.06 15:05) [15]
>
> > КАК ее отловить на другом компе
>
>
> Для начала проанализировать зависимости исп.модуля от bpl/dll


Тупой я. Каюсь. КАК именно найти ошибку? Можно сразу подсказать?

Просто сейчас использовать Д6 и Д7 одновременно приходится...


 
Сергей М. ©   (2006-11-03 15:58) [17]

tdump.exe


 
Vga ©   (2006-11-03 16:05) [18]

> [16] DimonS ©   (03.11.06 15:55)

Любым менеджером процессов, который показывает загруженные прогой dll-ки. Например, SysInternals Process Explorer. В нем смотришь список dll, потом проверяешь чего не хватает на компе без Delphi. tdump вряд ли поможет, т.к. показывает только список импортов, а все dll из него в системе есть (иначе ругалась бы винда на отсутствие dll)


 
atruhin ©   (2006-11-03 17:28) [19]

Процентов 99, в программе скрываются исключения, и где то происходит ошибка,
которая маскируется.


 
pasha_golub ©   (2006-11-03 17:43) [20]


> atruhin ©   (03.11.06 17:28) [19]

И такое может быть. Сам помнится прятал ошибки, пока не понял, какое это зло.


 
atruhin ©   (2006-11-03 18:14) [21]

> Сам помнится прятал ошибки

Тоже было дело. Не пустые, но невнятное (для разработчика) описание на блок кода.
Ошибку показывает, а откуда ноги растут не понятно :).


 
Другой ©   (2006-11-03 18:51) [22]

Ну а расставить хотя бы ShowMessage после каждой сторчки при загрузке не судьба..


 
Vga ©   (2006-11-03 23:47) [23]

Там же (в диалоге "программа выполнила невыполнимое") есть адрес ошибки. А в Delphi есть пункт Find Error, принимающий этот адрес и показывающий, где он находится, примерно как при ошибках при выполнении в дебаггере. Этот пункт меню активен только в режиме отладки (чтобы не возникало вопросов "а чего он такой серый"). Правда, с него станется выкинуть в CPU Window, если нужную строку не найдет.


 
DimonS ©   (2006-11-04 00:48) [24]


> Ну а расставить хотя бы ShowMessage после каждой сторчки
> при загрузке не судьба..


В том то и дело, ставил. Но ошибка вываливается ДО Form.Create. Ну а при инициализации программы, когда до генерации формы происходит выполнение еще нескольких сотен-тысяч строк кода - действительно гиммор.


> Процентов 99, в программе скрываются исключения, и где то
> происходит ошибка,
> которая маскируется.

Может быть, если только в подключенных библиотеках. В программе исключения стараюсь не ставить.

> Любым менеджером процессов, который показывает загруженные
> прогой dll-ки. Например, SysInternals Process Explorer.
>


Эээ. Извиняюсь. Это стандартная прога или ее устанавливать нужно? Если второе, то где скатать можно?


 
Vga ©   (2006-11-04 03:30) [25]

SysInternals - фирма, так что естественно не стандартная.
Скачать можно на www.sysinternals.com, там же есть много и других полезных программ, типа RegMon, FileMon, etc.


 
DimonS ©   (2006-11-05 15:24) [26]


> Там же (в диалоге "программа выполнила невыполнимое") есть
> адрес ошибки. А в Delphi есть пункт Find Error, принимающий
> этот адрес и показывающий, где он находится, примерно как
> при ошибках при выполнении в дебаггере.


А если операционки разные? Сомневаюсь, что и адреса будут одинаковые.


 
Ketmar ©   (2006-11-05 15:34) [27]

>[26] DimonS(c) 5-Nov-2006, 15:24
>А если операционки разные?
ну да. под linux другое будет. только там и Delphi нет, и PE не работают.


 
Vga ©   (2006-11-05 19:58) [28]

> [26] DimonS ©   (05.11.06 15:24)

Будут, будут. Думаю, даже Wine правильный адрес выдаст. Разве что адрес где-то в системных библиотеках типа kernel.


 
sniknik ©   (2006-11-05 20:44) [29]

> работающая через ADO
> ошибка вываливается ДО Form.Create.
закрой коннект в десигне, и открывай в рантайм гденибудь попозже со всеми нужными датасетами, в onShow например, или лучше вообще по кнопке. изменилось что нибудь?

если да, то смотри обработчики датасетов, обращения в них к тому что ещё не создано и т.д.


 
antonn ©   (2006-11-05 21:08) [30]

может где то надо убрать галочку "build with runtime packages"?


 
DimonS ©   (2006-11-07 03:32) [31]


> закрой коннект в десигне, и открывай в рантайм гденибудь
> попозже со всеми нужными датасетами, в onShow например,
> или лучше вообще по кнопке. изменилось что нибудь?


Естественно, все делается в рантайме, на такие грабли я уже спотыкался как-то по началу. Так что это отсеивается...


 
DimonS ©   (2006-11-09 05:07) [32]

Вот что еще накопал.
Сразу не хватило ума глянуть в журнал ошибок.

Источник: DrWatson

Приложение  вызвало ошибку Ошибка в 09/11/2006 @ 10:59:35.828 Вызвано исключение c0000025 по адресу 77FACC94 (RtlTraceDatabaseEnumerate)

Что это обозначает, расшифруйте, плз!
Поиск в хряндексе ничего не дал, в смысле встречается такая ошибка при работе с BDE. У меня БДЕ не используется. Кстати, как исправить ее не нашел.



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

Форум: "Прочее";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.062 c
11-1139326023
shalex
2006-02-07 18:27
2006.11.26
Выложите synapse


2-1162924166
ANEM
2006-11-07 21:29
2006.11.26
Прога процедурного типа


15-1162868260
Конь
2006-11-07 05:57
2006.11.26
Кто нибудь из москвичей пользовался провайдером ZebraTelecom?


2-1162975594
WhiteBarsik
2006-11-08 11:46
2006.11.26
TADOConnection.execute, что вернет?


2-1163084546
Greenchel
2006-11-09 18:02
2006.11.26
Фильтрация символов в TEdit





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