![]() |
|
|
#1
|
||||
|
||||
|
всем привет. помогите найти выход с такой ситуации: долгое время работал с библиотекой EhLib 2.5 (Delphi 7) и вроде как всё устраивало и все нормально работало ... с недавних пор потребовался переход на более новую версию EhLib ввиду новых требований к программе и отсутствия в старой библиотеке такой возможности (в часности речь идет о TMemTableEh). Скачал с и-нета полную версию 5.5, поставил, и вроде как все норм работало до тех пор пока не перекомпили 1 из старых проектов в котором использовался 2.5. и тут-то начали вылазить косяки класа ацесс виолэйшн в таких местах, что и писать стыдно. после возврата на старую версию - косяки пропали. вернул назад 5.5 - та же история. подскажите как побороть эту беду, оч нужны новые компоненты, а каждый раз прыгать между версиями не в тему как-то
p.s. на версии 3,6 та же картина( Последний раз редактировалось Yurk@, 14.05.2012 в 22:21. |
|
#2
|
||||
|
||||
|
Искать причину косяков.
|
|
#3
|
||||
|
||||
|
Хы ... ну эт понятно ... может есть какие-то более конкретные варианты?
|
|
#4
|
||||
|
||||
|
Сам пишешь, что места известны.
|
|
#5
|
||||
|
||||
|
например:
Код:
begin if bRam1.Enabled=False then edModRam1.ItemIndex:=-1; if bRam2.Enabled=False then edModRam2.ItemIndex:=-1; if bRam3.Enabled=False then edModRam3.ItemIndex:=-1; if bRam4.Enabled=False then edModRam4.ItemIndex:=-1; end; все элементы создавались путем Copy-Paste т.е. абсолютно все свойства, кроме имени, идентичны. а на родном 2.5 всё это компилится без всяких проблем |
|
#6
|
||||
|
||||
|
Методом телепатии догадываемся, что первое CheckBox, второе ComboBox?
|
|
#7
|
||||
|
||||
|
а причем тут это?
в самом проэкте ошибок нет ... на версии 2,5 он нормально компилируется ... вопрос в том "почему этот же код не компилится на более новой версии?" upd: bRam - TGroupBox; edModRam - TDBComboBoxEh; Последний раз редактировалось Yurk@, 14.05.2012 в 22:51. |
|
#8
|
||||
|
||||
|
Ну раз это такой секрет, то...
А вообще, принято писать не: Код:
if bRam1.Enabled=False Код:
if not bRam1.Enabled |
|
#9
|
||||
|
||||
|
А так на каком участке violation выскакивает? Просто ради эксперимента.
Код:
begin
if not bRam1.Enabled then
edModRam1.ItemIndex:=-1;
if not bRam2.Enabled then
edModRam2.ItemIndex:=-1;
end; |
|
#10
|
||||
|
||||
|
ни на каком ... violation начинается с bRam3 даже при такой записи
|
|
#11
|
||||
|
||||
|
Цитата:
Последний раз редактировалось Ildar-tsr, 15.05.2012 в 12:06. |
|
#12
|
||||
|
||||
|
все элементы создавались путем Copy-Paste т.е. абсолютно все свойства, кроме имени, идентичны
|
|
#13
|
||||
|
||||
|
Чтобы убедиться, что именно с 3, напиши:
Код:
if not bRam1.Enabled then edModRam1.ItemIndex:=-1; if not bRam1.Enabled then edModRam1.ItemIndex:=-1; if not bRam1.Enabled then edModRam1.ItemIndex:=-1; if not bRam1.Enabled then edModRam1.ItemIndex:=-1; |
|
#14
|
||||
|
||||
|
та не катит с ним такой прикол .. результат тот же
|
|
#15
|
||||
|
||||
|
при обращении к какому объекту/свойству возникает AV?
|