Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.26;
Скачать: CL | DM;

Вниз

Совместимость 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;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.05 c
15-1162671077
Ученик чародея
2006-11-04 23:11
2006.11.26
Вах... И они развивают нашу украинскую науку...


15-1163007408
ferr
2006-11-08 20:36
2006.11.26
Тихий дон. Конец 2-ой серии.


2-1162984685
kolius
2006-11-08 14:18
2006.11.26
Как избавить от мелькания TMemo?


9-1139254718
D@rk
2006-02-06 22:38
2006.11.26
Fps


2-1162845983
Gunek
2006-11-06 23:46
2006.11.26
Как к тексту запроса добавить переменную?