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

Вниз

Invalid floating point operation. Не могу разобраться   Найти похожие ветки 

 
adav   (2002-05-15 11:28) [0]

Периодически возникает ошибка "invalid floating point operation". Подозрение на то, что программа криво работает с динамическими массивами.
Есть примерно следующее:

var
Form1: TForm1;
rr:array of real; //вначале объявляем одномерный массив
implementation
...

procedure TForm1.Button2Click(Sender: TObject);
begin
...
rr:=nil; //обнуляем его
setlength (rr, m); //присваиваем ему размерность m
...


Причем ошибка то вываливается, то нет. Проект работает только если запускать из Delphi. Отдельно exe-шник не хочет вообще работать, сразу вываливая данную ошибку. Разгребаю второй день, помогите пожалуйста, если знаете!

Заранее спасибо!


 
Внук   (2002-05-15 11:39) [1]

Нет здесь проблемы, а что дальше происходит с rr ?


 
Paxer   (2002-05-15 11:46) [2]

Проверь, не выходишь ли где либо за пределы массива, обращение по rr[Length(rr)] - ошибочно. Также нельзя обращаться по вычисленным адресам массива, т.к. Addr(rr) и Addr(rr[0]) - разные вещи. После обращений по таким адресам, как я понимаю, затирается информация о размере массива и происходит еще неизвестно что.


 
adav   (2002-05-15 12:23) [3]

2 Внук:
Иногда вылетает ошибка на это:

rr[i]:=sqrt(rr[i]);

Иногда на другие операции с массивами. Но проблема в том, что отладчик (view CPU) показывает именно процедуру DynArrayClear(?).

2 Paxer:
"обращение по rr[Length(rr)] - ошибочно". Это понятно, да и выдавал бы он тогда что-то вроде "index out of bounds" или вроде того.
Главное, что иногда проходит все прилично, а повторный раз (еще одно нажатие на кнопку и пересчет параметров) не хочет работать. Только если делфу остановить и заново запустить. А сам exe-файл без среды делфи вообще сразу ругается.



 
Paxer   (2002-05-15 12:39) [4]

<<да и выдавал бы он тогда что-то вроде "index out of bounds" - ничего Делфи не выдаст, прочитай раздел в Хелпе. Проверь,не используешь ли этот массив в качестве буфера при считывании или записи данных (из потока, из файла), если да - то это и есть ошибка. Я с этим про.. больше недели. Если можешь, ответь на мой вопрос в форуме по TAction.



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

Форум: "Основная";
Текущий архив: 2002.05.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
1-88544
NailS
2002-05-15 12:46
2002.05.27
Exception : Privileged instruction


1-88447
roman_tutov@mail.ru
2002-05-17 11:24
2002.05.27
Опять треды


1-88424
VAleksey
2002-05-17 06:28
2002.05.27
*.ini или что-то вроде этого


14-88593
Condor
2002-04-18 10:31
2002.05.27
Работа с разными БД в одном запросе


1-88537
S@shka
2002-05-15 22:01
2002.05.27
Опять про DLL Delphi для C++ Builder





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