Форум: "Основная";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];
ВнизНесовместимость ОС Найти похожие ветки
← →
KADAN (2004-02-11 14:08) [0]Доброго времени суток, мастера!
У меня какая-то чача приключилась. Вобщем сижу себе в Вин2000 программирую на Делфе 6, все прекрасно работает.
Иду сдавать прогу, а там стоит 98я (дюже томозная) и в паре мест выскакивают непонятные ошибки (Вроде External exception 46), предположительно вот в этом месте:
procedure TEditOpForm.Edit1Change(Sender: TObject);
var asd:real;
begin
Try
asd:=1/StrToFloat(edit1.Text);
BitBtn1.Enabled:=true;
except on e:Exception do
BitBtn1.Enabled:=false;
end;
end;
Да еще и в SQL"е что-то вроде инвалида параметра
ALTER TABLE "NAME.DBF"
ADD NUMBER NUMERIC(6),
ADD SUMMA NUMERIC(12,2),
ADD FLAG NUMERIC(1),
ADD NOTE CHAR(20),
ADD INSFLAG CHAR(1);"
Решил я что это глюк 98, но оказалось не так. при тестировании на другой 98й оказалось, что все работает просто замечательно.
Спасайте.
← →
VLAD-MAL (2004-02-11 14:14) [1]Насчет инвалида - это может как BDE версия не та (или не под то заточена - в реестре, к примеру), так версия SQL - сервера не та. Похожие проблемы были. ВЫлечились окончательно тем, что все компы перешли на XP.
← →
Agent13 (2004-02-11 14:14) [2]Может проблема в формате разделителя дробной части числа?
← →
VLAD-MAL (2004-02-11 14:16) [3]Точно! Проверь DecimalSeparator!
← →
KADAN (2004-02-11 14:21) [4]БДЕ стоит тот же, сам ставил. А в децимал сепараторе точно нет ошибки. Изменял региональные сеттинги, чего только не делал - нет ошибки и все.
← →
VLAD-MAL (2004-02-11 14:23) [5]А всякие там Midas.dll/midaslib?
← →
KADAN (2004-02-11 14:26) [6]В смысле? что с ними может быть?
← →
VLAD-MAL (2004-02-11 14:33) [7]Ну, может их не быть. Или быть не той версии.
← →
KADAN (2004-02-11 14:34) [8]нет, это наврядли... а что же все-таки с делением на ноль?
← →
VLAD-MAL (2004-02-11 14:39) [9]А насчет деления - ну его на фиг. Перед делением дополнительно проверяй знаменатель на корректность. Блок Try -except - end - фича OS, и, возможно, не так отрабатывается в разных версиях при исключительных ситуациях. Типа:
procedure TEditOpForm.Edit1Change(Sender: TObject);
var asd:real;
begin
Try
asd := StrToFloat(edit1.Text);
if asd = 0 then
raise Error.Create("Кирдык!");
asd:=1/asd;
BitBtn1.Enabled:=true;
except on e:Exception do
BitBtn1.Enabled:=false;
end;
end;
← →
KADAN (2004-02-11 14:45) [10]Вобщем, ето я уже исправил на вот такое:
val(edit1.Text,asd,code);
BitBtn1.Enabled:=(code=0) and (asd>0);
Но все равно мне интересно, что ето за ерунда такая случилась.
← →
KADAN (2004-02-11 14:48) [11]Вот еще забыл сказать... один раз на етом месте я видал External exception, а в другой раз синенький экран :(
← →
VLAD-MAL (2004-02-11 14:54) [12]Виндовс даст дай!
← →
KSergey (2004-02-11 15:02) [13]Настораживает фраза:
> KADAN (11.02.04 14:08)
> Иду сдавать прогу, а там стоит 98я ( дюже томозная)
Тормозная от чего? Слабая машинка? Так может просто ресурсов не хватает -> ошибки проектирования?
← →
VLAD-MAL (2004-02-11 15:04) [14]Или аппаратура глючит?
← →
KADAN (2004-02-12 08:42) [15]"Дюже тормозная" в смысле: и так машина не ахти, так еще и загажена вся.
← →
KSergey (2004-02-12 08:44) [16]Ну так может предположение о недостатке ресурсов под данное приложение верно?
← →
KADAN (2004-02-12 10:27) [17]Нет, не верно. прога почти не жрет ресурсов.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.033 c