Форум: "Начинающим";
Текущий архив: 2008.01.20;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.046 c