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

Вниз

Overflow ...   Найти похожие ветки 

 
istok   (2007-12-17 23:16) [0]

У одного юзера иногда в программе вылетает "Overflow while converting variant of type (LongWord) into type (Integer)."  Но eurekalog это дело не ловит и совершенно не ясно в каком месте и отчего такое может быть.

Не подскажете, куда копать?


 
antonn (work)   (2007-12-17 23:29) [1]

это значит, что идет присвоение "длинного ворда" интегеру %)
типа не хватает цифр в интегере, чтобы получить "длинный ворд", вот и ругается.


 
homm ©   (2007-12-17 23:46) [2]

> antonn (work)

Не поздновато ли? :)


 
istok   (2007-12-17 23:47) [3]

я тоже так подумал))

но как мне перебрать десятки тысяч строк кода проверив, функции, возвращающие longword - вот вопрос:)

для этого специальных программ нет?


 
oldman ©   (2007-12-18 09:53) [4]


> совершенно не ясно в каком месте


Что, в разные моменты вылетает?
Или автор не знает, какой кусок кода в данный момент выполняется?
Или там так много присвоения интегеру лонгворда?


 
istok   (2007-12-18 11:51) [5]


> Что, в разные моменты вылетает?
> Или автор не знает, какой кусок кода в данный момент выполняется?
>
> Или там так много присвоения интегеру лонгворда?


вылетает не у автора, а у одного из юзеров.

в разные моменты и дни.

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


 
Сергей М. ©   (2007-12-18 11:59) [6]


> надо вывести все функции, которые longword в программе возвращают


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


 
sniknik ©   (2007-12-18 12:12) [7]

> надо вывести все функции, которые longword в программе возвращают.
вообщето нужны не функции которые возвращают ... , а то где происходит конвертация из варианта с данными типа longword в integer, например на присвоении типа
var
 v: variant;
 i: Integer;
begin
 inherited;
 v:= LongWord(-1); //$FFFFFFFF;
 i:= v;
 ShowMessage(IntToStr(i));
end;

причем большого числа, у которого используется бит знака... т.е. если в примере хотя бы одну F убрать то присвоение пройдет нормально. фактически нужно искать то место числа в варианте > $7FFFFFFF и они присваиваются integer-у.


 
sniknik ©   (2007-12-18 12:17) [8]

эээ... ата, inherited; в примере лишний, затесался т.к. форма на которой кликнул чтобы это написать была наследуемой.


 
antonn ©   (2007-12-18 12:28) [9]


> homm ©   (17.12.07 23:46) [2]
>
> > antonn (work)
>
> Не поздновато ли? :)

в ночь пошел.
я тут от скуки все перерыл, не знал, чем заняться :)



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

Текущий архив: 2008.01.20;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.039 c
2-1197961937
Alex_C
2007-12-18 10:12
2008.01.20
Двумерный открытый массив как параметр ф-ции


15-1197603524
Slider007
2007-12-14 06:38
2008.01.20
С днем рождения ! 14 декабря 2007 пятница


15-1197736931
Dmitry S
2007-12-15 19:42
2008.01.20
Вопрос про шашки.


15-1197355849
boriskb
2007-12-11 09:50
2008.01.20
История языков


2-1197962651
Бакук
2007-12-18 10:24
2008.01.20
DLL и поток





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