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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ошибка access violation 
:(
    Опции темы
gl42
Дата 18.11.2011, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добрый вечер.
Раз через раз вылазит ошибка (при том, что код не меняется). Access violation at ... adresss. Read of adress. Либо при нажатии "сохранить проект" либо при компиляции. при том что нажимаешь ок, и дальше работает. нигде уже в запущенной программе больше она не проявляется. 
Как тогда узнать в чем проблема, если она вылазит переодически и почти все время с одним и тем же адрессом? Может это баг какой то? Кто то сталкивался с этим?
Также при комплияции проекта тоже иногда происходит ошибка Error RLINK32: error opening file “unit....dfm”. Опять же запустишь снова и все норм.

PM MAIL   Вверх
Keeper89
Дата 18.11.2011, 04:07 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Да, это баг. Баг в коде. А код надо предъявить в студию. 


--------------------
PM MAIL WWW   Вверх
gl42
Дата 18.11.2011, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Самые обычные функции win api. 
 тут участки кода  примерно после которых начали появляться те ошибки.
Везде используется ListView (стиль-таблица). предварительно свойства Columns у них заполнено и первый столбец тоже.
Код

type
    TMemoryStatusEx = record
    dwLength: DWORD;
    dwMemoryLoad: DWORD;
    ullTotalPhys: int64;
    ullAvailPhys: Int64;
    ullTotalPageFile: Int64;
    ullAvailPageFile: Int64;
    ullTotalVirtual: Int64;
    ullAvailVirtual: Int64;
    ullAvailExtendedVirtual: Int64;
  end;

procedure GlobalMemoryStatusEx(var lpBuffer: TMemoryStatusEx);
stdcall;
external kernel32 name 'GlobalMemoryStatusEx';

procedure TForm1.Button_ComputerClick(Sender: TObject);
var
len: cardinal;
buffer: string;
begin
len:=MAX_COMPUTERNAME_LENGTH+1;
SetLength(buffer, len);
if GetComputerName(PChar(buffer),len) then
ListView2.Items.Item[0].SubItems.Insert(0, copy(buffer,1,len));
len:=MAX_COMPUTERNAME_LENGTH+1;
SetLength(buffer, len);
if GetUserName(PChar(buffer),len) then
ListView2.Items.Item[1].SubItems.Insert(0, copy(buffer,1,len))
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  batFlags: string;
  status: TSystemPowerStatus;
begin
ZeroMemory(@(status), SizeOf(status));   // пример функции GetSystemPowerStatus брался из книги
//но смущает это обнуление..не знаю ли нужно оно
if GetSystemPowerStatus(status) then
begin
// подключение к сети
case status.ACLineStatus of
0: ListView4.Items.Item[0].SubItems.Insert(0, 'отключен');
1: ListView4.Items.Item[0].SubItems.Insert(0, 'подключен');
else  ListView4.Items.Item[0].SubItems.Insert(0, 'неизвестно') ;
end;
// уровень заряда батарее
case  status.BatteryFlag of
0: batFlags:='средний';            
1: batFlags:='высокий';         
2: batFlags:='низкий';             
4: batFlags:='критический';   
8: batFlags:='заряжается';      
128: batFlags:='батарея отсутствует';
else batFlags:='неизвестно';
end;
ListView4.Items.Item[1].SubItems.Insert(0, batFlags);
end
else
messageDlg('не выходит получить инфу о питании компьютера', MtError,[mbOK],0);
//(остаток заряда батареи %)
if status.BatteryLifePercent=255 then
ListView4.Items.Item[2].SubItems.Insert(0, 'Неизвестно')
else
begin
ListView4.Items.Item[2].SubItems.Insert(0, IntToStr(status.BatteryLifePercent)+'%');
ProgressBar_Battery.Position:=status.BatteryLifePercent; // полоса батареи
end;
// оставшееся время работы
if Integer(status.BatteryLifeTime)<>-1 then
  ListView4.Items.Item[3].SubItems.Insert(0, TimeToStr(status.BatteryLifeTime/SecsPerDay))
else
 ListView4.Items.Item[3].SubItems.Insert(0, 'неизвестно');
end;

procedure TForm1.Button_OMemoryClick(Sender: TObject);
var
  memStat: TMemoryStatusEx;
begin
ZeroMemory(@(memStat), SizeOf(memStat));  //хз опять же надо ли?
memStat.dwLength:=SizeOf(memStat);
// загруженность оперативной памяти
GlobalMemoryStatusEx(memStat);
ProgressBar_Memory.Position:=memStat.dwMemoryLoad;
// оперативная память
ListView3.Items.Item[0].SubItems.Insert(0, IntToStr(memStat.ullTotalPhys div 1048576)) ;
ListView3.Items.Item[1].SubItems.Insert(0, IntToStr(memStat.ullAvailPhys div 1048576)) ;
end;

end.


Очищать память для локальных переменных типа строк выделенной SetLength я так понимаю не нужно?

Это сообщение отредактировал(а) gl42 - 18.11.2011, 13:08
PM MAIL   Вверх
Keeper89
Дата 18.11.2011, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Что-то я тут ничего для AV не вижу  smile 


--------------------
PM MAIL WWW   Вверх
gl42
Дата 18.11.2011, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Keeper89 @  18.11.2011,  15:38 Найти цитируемый пост)
Что-то я тут ничего для AV не вижу    


 вот и я тоже. я ж говорю, она появляется периодически. как ее ловить, если в программе она не дает о себе знать? все работает безошибочно.
еще один участок кода вот в теме
http://forum.vingrad.ru/act-ST/f-84/t-341030.html
там работа с реестром. но там тоже ничего проблемного на вид нет: объект создан, в конце ключ закрыт и память очищена.


PM MAIL   Вверх
Keeper89
Дата 18.11.2011, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Можно поставить madExpert и посмотреть подробный лог ошибки.


--------------------
PM MAIL WWW   Вверх
gl42
Дата 18.11.2011, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Keeper89 @  18.11.2011,  17:57 Найти цитируемый пост)
Можно поставить madExpert и посмотреть подробный лог ошибки. 


если верить статье www.webdelphi.ru/2011/09/opyt-raboty-s-madexcept/ то для того чтобы проверить ошибку этим madExpert надо вызвать исключение. но у меня в работающей программе не вылезет никаких ошибок. 
даже search->find error не доступно когда вылазит av. 
PM MAIL   Вверх
Keeper89
Дата 18.11.2011, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Ну она же выскакивает из под отладчика?


--------------------
PM MAIL WWW   Вверх
gl42
Дата 18.11.2011, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Keeper89 @  18.11.2011,  18:40 Найти цитируемый пост)
Ну она же выскакивает из под отладчика? 

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

PM MAIL   Вверх
northener
Дата 18.11.2011, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Рекомендую Эврику
Trial version can be used to evaluate EurekaLog before buying. EurekaLog Trial is fully-functional version, except your projects will expire after 30 days.
За 30 дней ошибку наверняка можно будет найти. 
P.S. Эврика контролирует не только вашу программу, но и Делфи.


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
gl42
Дата 18.11.2011, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(northener @  18.11.2011,  20:34 Найти цитируемый пост)
Рекомендую Эврику
Trial version can be used to evaluate EurekaLog before buying. EurekaLog Trial is fully-functional version, except your projects will expire after 30 days.
За 30 дней ошибку наверняка можно будет найти. 
P.S. Эврика контролирует не только вашу программу, но и Делфи. 

спасибо, но я не думаю что это хороший вариант решения.)
PM MAIL   Вверх
Keeper89
Дата 18.11.2011, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



northener, madExpert тоже Делфи контролирует


--------------------
PM MAIL WWW   Вверх
gl42
Дата 18.11.2011, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Появляется также ошибка AV в модуле rtl70.bpl(
PM MAIL   Вверх
northener
Дата 18.11.2011, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(gl42 @  18.11.2011,  21:20 Найти цитируемый пост)
спасибо, но я не думаю что это хороший вариант решения.) 

Эт да. Хорошее решение - купить Эврику! Тем более, что SingleUser лицензия практически бесплатная!

Цитата(Keeper89 @  18.11.2011,  23:23 Найти цитируемый пост)
northener, madExpert тоже Делфи контролирует 

Спорить не собираюсь. Про madExpert просто ничего не знаю, в отличие от Эврики. Но по Эврике наши дельфийские форумы всегда помогут получить поддержку от всем нам известного мастера. (На всех 4-х мне известных форумах он зарегистрирован и по мере возможности участвует).

Добавлено через 6 минут и 59 секунд
Цитата(gl42 @  18.11.2011,  23:35 Найти цитируемый пост)
Появляется также ошибка AV в модуле rtl70.bpl

Скорее всего виноваты в этой ошибке какие-то сторонние компоненты/эксперты.
Какие? 
А вот тут вам поможет Эврика или любые другие подобные инструменты. Если вы не хотите использовать готовые инструменты, тогда вам к Джедаям


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
gl42
Дата 19.11.2011, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(northener @  18.11.2011,  23:53 Найти цитируемый пост)
Скорее всего виноваты в этой ошибке какие-то сторонние компоненты/эксперты.

Возможно, появилась когда стала сейчас использовать WMI.

код в теме forum.vingrad.ru/forum/topic-341311.html

Это сообщение отредактировал(а) gl42 - 19.11.2011, 00:26
PM MAIL   Вверх
northener
Дата 19.11.2011, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(gl42 @  19.11.2011,  00:07 Найти цитируемый пост)
Возможно, появилась когда стала использовать WMI.

А кто тут "она"? Ваша программа? 
Ещё раз предложу вам использовать готовые инструменты для поиска причин ошибок!


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
gl42
Дата 19.11.2011, 00:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ошибка AV в модуле rtl70.bpl
Вы настойчивы.) Ок. Не объясните, как пользоваться вашей "эврикой"?
PM MAIL   Вверх
Lols
Дата 19.11.2011, 01:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



У меня при аналогичной ошибке Эврика ничего не выявила...
PM MAIL   Вверх
Keeper89
Дата 19.11.2011, 01:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



gl42, насчет WMI. Попробуйте заменить
Код

Writeln(Format('ProductName: %s',[string(FWbemObject.ProductName)]));

на
Код

Writeln(Format('ProductName: %s',[VarToStr(FWbemObject.ProductName)]));



--------------------
PM MAIL WWW   Вверх
gl42
Дата 19.11.2011, 02:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Keeper89 @  19.11.2011,  01:56 Найти цитируемый пост)
gl42, насчет WMI. Попробуйте заменить
код Pascal/Delphi
1:
Writeln(Format('ProductName: %s',[string(FWbemObject.ProductName)]));

на
код Pascal/Delphi
1:
Writeln(Format('ProductName: %s',[VarToStr(FWbemObject.ProductName)]));


я вывожу в memo. без переводов. и тип же ProductName - string.
PM MAIL   Вверх
northener
Дата 19.11.2011, 02:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(gl42 @  19.11.2011,  00:50 Найти цитируемый пост)
Вы настойчивы.) Ок. Не объясните, как пользоваться вашей "эврикой"? 

Ну во-первых. Эврика не моя. Но я её использую. И она мне много где помогла.
Как пользоваться? Просто скачать и установить!

Цитата(Lols @  19.11.2011,  01:47 Найти цитируемый пост)
У меня при аналогичной ошибке Эврика ничего не выявила... 

В суппорт Эврики обращались?


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
Keeper89
Дата 19.11.2011, 02:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(gl42 @  19.11.2011,  02:04 Найти цитируемый пост)
я вывожу в memo. без переводов. и тип же ProductName - string. 

Как выводите, покажите


--------------------
PM MAIL WWW   Вверх
gl42
Дата 19.11.2011, 02:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

      while oEnum.Next(1, FWbemObject, iValue) = 0 do         
      begin
        Memo2.Lines.Add('Название: '+FWbemObject.ProductName);
        Memo2.Lines.Add('Производитель: '+FWbemObject.Manufacturer);       
        VarClear(FWbemObject);
      end;

PM MAIL   Вверх
northener
Дата 19.11.2011, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(gl42 @  19.11.2011,  00:50 Найти цитируемый пост)
Вы настойчивы.) Ок. Не объясните, как пользоваться вашей "эврикой"? 

Вот тут всё максимально подробно описано.

Кстати. По поводу AV рекомендую прочитать эту статью
Пардон. Я имел в виду эту статью. Но это к лучшему! Будет время - прочитайте обе статьи. Очень полезно!

Это сообщение отредактировал(а) northener - 19.11.2011, 09:29


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
Keeper89
Дата 19.11.2011, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



gl42, в своем же коде измените вывод на VarToStr.


--------------------
PM MAIL WWW   Вверх
gl42
Дата 19.11.2011, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(northener @  19.11.2011,  09:06 Найти цитируемый пост)

Кстати. По поводу AV рекомендую прочитать эту статью
Пардон. Я имел в виду эту статью. Но это к лучшему! Будет время - прочитайте обе статьи. Очень полезно!


эти две статьи прочитала еще до того как обратиться на форум.

Добавлено через 40 секунд
Цитата(Keeper89 @  19.11.2011,  09:51 Найти цитируемый пост)
gl42, в своем же коде измените вывод на VarToStr. 

Это изменит что-нибудь?)

PM MAIL   Вверх
Keeper89
Дата 19.11.2011, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



gl42, это правильнее. А изменит или нет - посмотрите smile


--------------------
PM MAIL WWW   Вверх
gl42
Дата 19.11.2011, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Keeper89, ок
но ошибкам это не помогло)
PM MAIL   Вверх
northener
Дата 19.11.2011, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(gl42 @  19.11.2011,  11:24 Найти цитируемый пост)
эти две статьи прочитала еще до того как обратиться на форум.

Тогда я не пойму ваше нежелание использовать готовые инструменты для поиска причины AV!
Ведь AV - это самая плохая бяка! Любое исключение - либо оно есть, либо его нет. Кроме AV.  
Его присутствие означает, что есть ошибка работы с памятью. Его отсутствие не означает ровным счётом ничего!


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
gl42
Дата 19.11.2011, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(northener @  19.11.2011,  13:05 Найти цитируемый пост)
Тогда я не пойму ваше нежелание использовать готовые инструменты для поиска причины AV!

Я установила EurekaLog, посмотрела видеоурок, прочла первую ссылку. но мне все равно не совсем понятно как она ловит AV если она появляется 1) периодически, 2) не в рабочей программе, а всего лишь иногда при сохранении проекта либо при отладке программы 3) при чем единожды (то есть при следующем нажатии Build'a она больше не появляется). в запущенном проекте никаких исключений не возникает.


Это сообщение отредактировал(а) gl42 - 19.11.2011, 13:24
PM MAIL   Вверх
northener
Дата 19.11.2011, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(gl42 @  19.11.2011,  13:24 Найти цитируемый пост)
но мне все равно не совсем понятно как она ловит AV если она появляется 1) периодически, 2) не в рабочей программе, а всего лишь иногда при сохранении проекта либо при отладке программы 3) при чем единожды (то есть при следующем нажатии Build'a она больше не появляется). в запущенном проекте никаких исключений не возникает.

А какая вам разница как она ловит? 
Когда AV возникнет, тогда Эврика его поймает и выдаст эльфа.
Вот тогда и спрашивайте, если что не поймёте. smile

Это сообщение отредактировал(а) northener - 19.11.2011, 13:30


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
gl42
Дата 19.11.2011, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(northener @  19.11.2011,  13:29 Найти цитируемый пост)
А какая вам разница как она ловит? 
Когда AV возникнет, тогда Эврика его поймает и выдаст эльфа.
Вот тогда и спрашивайте, если что не поймёте. 

"Для включения EurekaLog в своих проектах нужно выбрать меню "Project"/"EurekaLog options". И отметить галочку "Activate EurekaLog". При этом модифицируются файлы настроек проекта, и в uses DPR файла добавляется модуль ExceptionLog — основной модуль EurekaLog. Собственно, это всё, что нужно сделать, чтобы включить поддержку баг-отчётов в своей программе." -  то есть на этом все?

Добавлено через 1 минуту
Перекомпилить заново проект? и просмотреть отчет?
PM MAIL   Вверх
northener
Дата 19.11.2011, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(gl42 @  19.11.2011,  13:35 Найти цитируемый пост)
"Для включения EurekaLog в своих проектах нужно выбрать меню "Project"/"EurekaLog options". И отметить галочку "Activate EurekaLog". При этом модифицируются файлы настроек проекта, и в uses DPR файла добавляется модуль ExceptionLog — основной модуль EurekaLog. Собственно, это всё, что нужно сделать, чтобы включить поддержку баг-отчётов в своей программе." -  то есть на этом все? 

Ну если я правильно понял, то что вы сообщили о вашей проблеме, то даже этого вам не нужно. Достаточно того, что вы установили Эврику!
Но лучше всего галку поставить. После решения проблемы галку можно будет снять. А Эврику удалить. Хотя я бы посоветовал её купить.


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
gl42
Дата 19.11.2011, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(northener @  19.11.2011,  13:44 Найти цитируемый пост)
Ну если я правильно понял, то что вы сообщили о вашей проблеме, то даже этого вам не нужно. Достаточно того, что вы установили Эврику!
Но лучше всего галку поставить. После решения проблемы галку можно будет снять. А Эврику удалить. Хотя я бы посоветовал её купить. 

Ну если так, то отчета никакого нет и сообщений об ошибках тоже.
PM MAIL   Вверх
northener
Дата 19.11.2011, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(gl42 @  19.11.2011,  13:49 Найти цитируемый пост)
Ну если так, то отчета никакого нет и сообщений об ошибках тоже. 

Эврика это не волшебная палочка, а инструмент. 
Продолжайте работать над своим проектом. Как только ошибка вновь появится будет и сообщение, будет и подробный отчёт!


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
gl42
Дата 19.11.2011, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(northener @  19.11.2011,  13:54 Найти цитируемый пост)
Эврика это не волшебная палочка, а инструмент. 

с ваших предыдущих слов, мне как раз так и показалось) =D
PM MAIL   Вверх
northener
Дата 19.11.2011, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(gl42 @  19.11.2011,  13:57 Найти цитируемый пост)
с ваших предыдущих слов, мне как раз так и показалось

Дык Эврика очень хороший инструмент! Почти как волшебная палочка. Только нужно уметь ею грамотно пользоваться. smile


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
Akella
Дата 19.11.2011, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



gl42, а что тебя отталкивает от того, чтобы привести полный и точный текст ошибки с самого начала?


Цитата

С ithappens:

Звонок в техподдержку.

— У меня ваша программа не работает!
— Какую ошибку выдает?

Девушка на том конце вздыхает: опять попала на идиота…

— Ошибка. Не удалось трам-парам-парам, дальше бла-бла-бла, потом какие-то буквы английские, а я немецкий учила. Вот видите, ничего не работает!

Так и хотелось сказать: «Попробуйте трали-вали-ути-пути!»



PM MAIL   Вверх
gl42
Дата 19.11.2011, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Akella, Вы про полный код?
я не вижу смысла. остальные участки кода делались уже после появления ошибки.

Добавлено через 3 минуты и 21 секунду
если про саму ошибку : Access Violation at adress 6F427075.Read of adress 6F427075.
PM MAIL   Вверх
northener
Дата 19.11.2011, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Akella @  19.11.2011,  20:39 Найти цитируемый пост)
gl42, а что тебя отталкивает от того, чтобы привести полный и точный текст ошибки с самого начала?

Я тоже за полное цитирование сообщения об ошибке в вопросе на форуме. Но в данном случае, если верить автору (а не верить оснований нет) ошибка возникает не в программе автора, а в IDE Дельфи. А в этом случае сообщение об ошибке нам мало что даёт. Нужно разворачивать стек вызовов и внимательно его смотреть. Скорее всего ошибка возникает из-за какого-то кривого стороннего компонента/библиотеки (или эксперта, но это менее вероятно. Кривые эксперты всё-таки большая редкость smile.


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
Akella
Дата 19.11.2011, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Цитата(gl42 @  19.11.2011,  21:59 Найти цитируемый пост)
Akella, Вы про полный код?

мда... ты даже текст вопроса не можешь прочитать или понять....

Добавлено @ 00:07
gl42, ты задумывался или читал ли о том, почему возникает Access Violation?
Access Violation чаще всего возникает, когда приложение лезет в чужую область памяти, недоступную, твоему приложению.
Ты бы хоть взял да перевёл: Access Violation. Ну если лень, то вот тебе перевод: нарушение доступа smile

Например, ты не создал некий объект, но обращаешься к нему, к ещё несозданному объекту, для которого ещё не выделена память. Получаешь по рукам от операционной системы.
Когда ты обращаешься к ещё несозданному объекту, то  значение Read of adress будет примерно такое: 000000000
Может быть не выделил память для массива или чего-то ещё.

В твоём случае 
Цитата(gl42 @  19.11.2011,  21:59 Найти цитируемый пост)
Read of adress 6F427075. 

ты вообще лезешь не весть куда smile 


А теперь скажи, ты отладчиком смотрел код во время исполнения приложения? В какой строке вываливается исключение?
Возможно ты не выделил память, либо выделил недостаточно.
PM MAIL   Вверх
gl42
Дата 20.11.2011, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Akella @  19.11.2011,  23:58 Найти цитируемый пост)
мда... ты даже текст вопроса не можешь прочитать или понять.... 

о так может вы еще перейдете на оскорбления?
PM MAIL   Вверх
Akella
Дата 20.11.2011, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Цитата(Keeper89 @ 18.11.2011,  15:38)
Что-то я тут ничего для AV не вижу  smile

Возможно, что исключение возникает где-то в недрах WinAPI.
Да, код не меняется, но данные в функции WinAPI могут передаваться разные или вообще не передаваться.

Добавлено через 43 секунды
Цитата(gl42 @ 20.11.2011,  00:08)
Цитата(Akella @  19.11.2011,  23:58 Найти цитируемый пост)
мда... ты даже текст вопроса не можешь прочитать или понять.... 

о так может вы еще перейдете на оскорбления?

к сожалению этого я позволить себе не могу smile 
PM MAIL   Вверх
northener
Дата 20.11.2011, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Akella @  19.11.2011,  23:58 Найти цитируемый пост)
мда... ты даже текст вопроса не можешь прочитать или понять....

Остынь, пожалуйста! 
И перечитай всю ветку заново!


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
gl42
Дата 20.11.2011, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Akella @  19.11.2011,  23:58 Найти цитируемый пост)
gl42, ты задумывался или читал ли о том, почему возникает Access Violation?
Access Violation чаще всего возникает, когда приложение лезет в чужую область памяти, недоступную, твоему приложению.
Ты бы хоть взял да перевёл: Access Violation. Ну если лень, то вот тебе перевод: нарушение доступа 

Поверьте, читала, задумывалась и переводила. не сразу же мне писать на форум "спасите, помогите".
Вы увидели в коде что я лезу куда то куда не надо? 
Цитата(Akella @  19.11.2011,  23:58 Найти цитируемый пост)
А теперь скажи, ты отладчиком смотрел код во время исполнения приложения? В какой строке вываливается исключение?
Возможно ты не выделил память, либо выделил недостаточно. 

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

сегодня пришлось переустановить делфи, пока никаких ошибок не вылазит.

Добавлено @ 00:37
Цитата(Akella @  20.11.2011,  00:10 Найти цитируемый пост)
к сожалению этого я позволить себе не могу   

а вам бы очень хотелось?

Это сообщение отредактировал(а) gl42 - 20.11.2011, 00:39
PM MAIL   Вверх
northener
Дата 20.11.2011, 02:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(gl42 @  20.11.2011,  00:37 Найти цитируемый пост)
сегодня пришлось переустановить делфи,

Сурово! 
Может не стоило так "рубить с плеча"? Лучше б разобраться.


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
gl42
Дата 20.11.2011, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(northener @  20.11.2011,  02:42 Найти цитируемый пост)
Сурово! 
Может не стоило так "рубить с плеча"? Лучше б разобраться. 

Вы не поняли, мне пришлось переустановить не из-за этой ошибки)
PM MAIL   Вверх
Akella
Дата 20.11.2011, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Зачем тогда в этой теме было писать про переустановку? Конечно же многие именно так и поняли.
PM MAIL   Вверх
CodeMonkey
Дата 20.11.2011, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Хочу обратить внимание отвечающих на (цитирую):

Цитата
вылазит ошибка (вырезано) либо при нажатии "сохранить проект", либо при компиляции

Цитата
Также при комплияции проекта тоже иногда происходит ошибка Error RLINK32: error opening file “unit....dfm”.


Откуда следует, что проблема НЕ в коде, а в самой Delphi. Откуда, опять же, следует, что код программы тут ни при чём. Все советы что-то поменять в коде - мимо кассы. Поздравляю "внимательных" товарищей.

Что реально нужно было делать:
1. Взять другой дистрибутив Delphi (может проблема в битой пиратке). 
2. Ещё лучше - новую версию Delphi (скажем, Delphi XE). 
3. Накатить патчи на IDE. Для Delphi 7 это Update 1. 
4. Накатить обновления для системы.
5. Попробовать установить всякие неофициальные патчи вроде IDE Fix Pack/Delphi SpeedUp.
6. Удалить все сторонние эксперты или компоненты.
7. Отключить антивирус и аналогичные программы, могущие вмешиваться в процесс работы IDE.
8. Чистая переустановка Delphi с удалением настроек из реестра и папок на диске.
9. Чистая переустановка системы.
10. Если не помогло - запустить Delphi из под самой Delphi и отлаживать отладчиком ошибку (можно угрохать кучу времени с нулевым результатом). Или... просто терпеть.

Добавлено @ 12:53
Цитата
У меня при аналогичной ошибке Эврика ничего не выявила... 


В EurekaLog ловля ошибок в самой IDE по умолчанию выключена и включается отдельной настройкой в опциях.

Это сообщение отредактировал(а) CodeMonkey - 20.11.2011, 12:54


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
gl42
Дата 20.11.2011, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



CodeMonkey, 
Цитата(CodeMonkey @  20.11.2011,  12:50 Найти цитируемый пост)
Взять другой дистрибутив Delphi (может проблема в битой пиратке). 

Цитата(CodeMonkey @  20.11.2011,  12:50 Найти цитируемый пост)
6. Удалить все сторонние эксперты или компоненты.

ну у меня стоит сборка delphi7 lite full edition  v7.3.4.3 и там помоему достаточно этого стороннего)
на другом компьютере имеется стандартный delphi7 enterprise
и при первой комплияции проекта ошибка Error RLINK32: error opening file “unit....dfm” так и вылазит.
Цитата(CodeMonkey @  20.11.2011,  12:50 Найти цитируемый пост)
2. Ещё лучше - новую версию Delphi (скажем, Delphi XE). 

это попробую.


PM MAIL   Вверх
CodeMonkey
Дата 20.11.2011, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Можно ещё попробовать пересоздать форму (dfm). Может в ней какая-то проблема.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Akella
Дата 20.11.2011, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Цитата(gl42 @  20.11.2011,  13:28 Найти цитируемый пост)
ну у меня стоит сборка delphi7 lite full edition


Что это за зверь?

На Винграде запрещено обсуждение вареза!
PM MAIL   Вверх
Akella
Дата 20.11.2011, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Цитата(gl42 @  20.11.2011,  00:37 Найти цитируемый пост)
Добавлено @ 00:37
Цитата(Akella @  20.11.2011,  00:10 Найти цитируемый пост)
к сожалению этого я позволить себе не могу   

а вам бы очень хотелось?


Извини, я просто не знал, что у вас атрофировано чувство юмора  smile 
PM MAIL   Вверх
gl42
Дата 21.11.2011, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(CodeMonkey @  20.11.2011,  13:44 Найти цитируемый пост)
Можно ещё попробовать пересоздать форму (dfm). Может в ней какая-то проблема. 

Решила пока заново создать проект.
На форму добавила ListView, поставить стиль таблицей, заполнила Columns и Items, поменяла индексы у каждого узла с -1 на 0, 1, 2..  Честно, сначала думала, что это индексы каждого узла. Теперь поняла, что тупость сделала. Если это индексы иконок для узлов, и я их поменяла - то этом и могла быть ошибка..(
При попытке сохранить проект вылезла ошибка Access violation at adress 4003328D  in module 'rtl70.bpl'. Read of address 00000011.


Это сообщение отредактировал(а) gl42 - 21.11.2011, 00:59
PM MAIL   Вверх
Dik0n
Дата 21.11.2011, 02:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Akella @  20.11.2011,  14:31 Найти цитируемый пост)
сборка delphi7 lite full edition

Улыбнуло smile  облегченная и в то-же время полная редакция, представляю себе сие чудо.

Скорее всего дело в левой редакции, надо делать как  CodeMonkey советует
Цитата

Взять другой дистрибутив Delphi

--------------------
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ◄◄◄ Сотри монеткой защитный слой
PM MAIL WWW   Вверх
Akella
Дата 21.11.2011, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



Да, в первую очередь использовать нормальный, обычный дистрибутив со всеми обновлениями, + эти можно поставить: http://forum.vingrad.ru/forum/topic-249441.html
PM MAIL   Вверх
Keeper89
Дата 21.11.2011, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Осталось ссылку на этот "нормальный" дистрибутив кинуть smile


--------------------
PM MAIL WWW   Вверх
Akella
Дата 21.11.2011, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

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



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

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

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

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

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


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

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


 




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


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

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