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

Вниз

Код ошибки пустой   Найти похожие ветки 

 
чайник1   (2004-01-13 14:48) [0]

Уважаемые мастера, помогите, прога то работает то нет, соединение с сервером через компоненты DbExpress, выдает сообщение код ошибки пусто, а при продолжении работы выдает сообщение разрушительный сбой. Я конечно анализирую все через конструкцию try...except, но от этого не легче, сервер вроде работает, ругается на Applyupdates. может у кого-то была такая ситуация, вчера все работало. Убрал все что было сегодня добавлено, результат все тот же. Проверил все таблицы на сервере, просмотры, доступ.Соединение по новой создал в модуле Datamodule.Спасибо.


 
чайник1   (2004-01-13 15:05) [1]

Народ, откликнитесь кто-нибудь...


 
Johnmen ©   (2004-01-13 15:06) [2]

Ау


 
чайник1   (2004-01-13 15:09) [3]

совет какой..хотя бы намек на него


 
Vlad ©   (2004-01-13 15:11) [4]

намек на совет: приведи код чтоли ?


 
Johnmen ©   (2004-01-13 15:12) [5]

книги? 17 строка?


 
Anatoly Podgoretsky ©   (2004-01-13 15:13) [6]

Плохо тебе парень.


 
Danilka ©   (2004-01-13 15:14) [7]

ой, боюсь, приведет он сейчас весь свой код, берегись народ!


 
чайник1   (2004-01-13 15:16) [8]

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


 
Vlad ©   (2004-01-13 15:18) [9]


> про код вы явно шутите

Ага, мы тут вобще народ веселый :-)


> у меня полетел первый сервер, пришлось всю базу тащить на
> другой, после этого ошибка.

Ну.. как бы, с этого и надо было начинать :-)
Коннект к базе есть вобще или нет ?


 
Johnmen ©   (2004-01-13 15:18) [10]

Аккуратней !!! Может и второй сервер полететь !


 
чайник1   (2004-01-13 15:20) [11]

кусочек кода вот:

if StrToFloat(ob)-StrToFloat(ob1)>=StrToFloat(nowkred.l2.text) then
begin
dat1.osn.Append;
osn.FieldByName("kod_unic").asinteger:=koli;
osn.fieldbyname("kod_kl").asinteger:=klkod.asinteger;
osn.fieldbyname("kod_z").asinteger:=q_zai1kod.asinteger;
osn.fieldbyname("kred").asfloat:=strtofloat(nowkred.l1.text);
osn.fieldbyname("sum_fact").asfloat:=strtofloat(nowkred.l2.text);
osn.fieldbyname("proz_stav").asfloat:=StrTofloat(nowkred.l3.text);
osn.fieldbyname("peni").asfloat:=StrTofloat(nowkred.l4.text);
osn.fieldbyname("nom_dog").asstring:=nowkred.l5.text;
osn.fieldbyname("date1").asdatetime:=StrToDate(vr1);
osn.fieldbyname("date2").asdatetime:=StrToDate(vr2);
osn.fieldbyname("dat_dog").asdatetime:=StrToDate(vr3);
try
osn.post;
osn.ApplyUpdates(0); {ругает с этой команды}
osn.Refresh;
kred.refresh;
s_zaim.Active:=true;
kred.Locate("kod_unic",znak,[]);
osn.Locate("kod_unic",fieldbyname("kod_unic").AsInteger,[]);
except
showmessage("ошибка записи на сервер");
end;
end
else
showmessage("сумма остатков меньше");
end


 
Danilka ©   (2004-01-13 15:24) [12]

[11] чайник1 (13.01.04 15:20)
это случайный кусок кода из "большого проекта"?
ты-же сказал в первом посте:
"соединение с сервером через компоненты DbExpress, выдает сообщение код ошибки пусто"
и где в этом кусочке кода соединение?
лучше ответь на: [9] Vlad © (13.01.04 15:18)


 
чайник1   (2004-01-13 15:24) [13]

соединение есть, ведь она то пишет в базу, то нет, соединение стабильное, я же все еще и смотрю через EnterpriceManager. и запущен Query Analyzer.в Datamodule все соединяется.


 
Vlad ©   (2004-01-13 15:25) [14]

try
.....
except
on E:Exception showmessage(E.Message);
end;

О результатах доложи.


 
Vlad ©   (2004-01-13 15:26) [15]

сорри
on E:Exception do showmessage(E.Message);


 
Johnmen ©   (2004-01-13 15:28) [16]

Кто такой osn ?


 
Academic ©   (2004-01-13 15:29) [17]

Как вообще проходит компиляция?

Тут:
dat1.osn.Append; (либо избыток)
Далее:
osn.FieldByName("kod_unic").asinteger:=koli;


 
чайник1   (2004-01-13 15:30) [18]

on E:Exception showmessage(E.Message);
не понимает, наверное нужно подключить библиотеку, вы меня уж простите - это мой первый проект..


 
Vlad ©   (2004-01-13 15:32) [19]


> чайник1 (13.01.04 15:30) [18]

Извиняюсь, я исправился в [15]


 
чайник1   (2004-01-13 15:33) [20]

компиляция проходит нормально, osn-это таблица из базы через компонент SimpleDataSet. все прекрасно работало, писал проект по книге Шпака.


 
Academic ©   (2004-01-13 15:37) [21]

Попробуй так:

If osn.ApplyUpdates(0) Then
osn.Refresh;
Т.к. в случае неудачи ApplyUpdates При рефреше выдается ошибка.
Проследи конфликты ApplyUpdates на обработчике.


 
Academic ©   (2004-01-13 15:38) [22]

Sorry!
If osn.ApplyUpdates(0) = 0 Then
osn.Refresh;


 
Vlad ©   (2004-01-13 15:39) [23]


> чайник1 (13.01.04 15:33) [20]

Хорошо, а что такое dat1 ? Кстати, обрати внимание на Academic © (13.01.04 15:29) [17].
Что-то явно не то у тебя в коде.
Так что сообщение об ошибке показало ?


 
чайник1   (2004-01-13 15:45) [24]

делал все по Vlad, код выдает тот же пусто, а затем разрушительный сбой


 
чайник1   (2004-01-13 15:49) [25]

делал по Academic результат тот же. Dat1 - это модуль во всеми таблицами и запросами.


 
Danilka ©   (2004-01-13 15:52) [26]

[24] чайник1 (13.01.04 15:45)
если "on E:Exception do showmessage(E.Message);" не помогло, значит ошибка в "куске кода".
Может все-таки попытаться использовать трассироку?


 
чайник1   (2004-01-13 15:55) [27]

проверял по шагам, все проходит, но как встречает Applyupdates(0) ругается, по этой команде обновления передаются на сервер с клиента, это такая особенность компонента SimpleDataSet.


 
Vlad ©   (2004-01-13 15:56) [28]


> чайник1 (13.01.04 15:45) [24]
> делал все по Vlad, код выдает тот же пусто, а затем разрушительный
> сбой

подозреваю, тебе надо снять флажок:
Tools -> Debugger Options -> Language Exceptions -> Stop on Delphi Exceptions


 
Danilka ©   (2004-01-13 15:56) [29]

[27] чайник1 (13.01.04 15:55)
просто ругается? не выкидывает на блок except?
мистика :))


 
Danilka ©   (2004-01-13 15:57) [30]

[28] Vlad © (13.01.04 15:56)
угу, вероятно в этом дело а никакая не мистика. :))


 
чайник1   (2004-01-13 16:01) [31]

убрал галочку на Stop.
теперь при добавлении или изменении записи выдает сразу ошибку разрушительный сбой без кода ошибки


 
Vlad ©   (2004-01-13 16:03) [32]


> чайник1 (13.01.04 16:01) [31]

Ты можешь точно указать на какой строчке возникает эта ошибка ?


 
чайник1   (2004-01-13 16:04) [33]

да, на строке ApplyUpdates(0), т.е. при занесении изменений на сервер.


 
sniknik ©   (2004-01-13 16:33) [34]

говориш ошибок нет

Set MaxErrors to –1 to indicate that there is no limit to the number of errors.

а сам их в ноль разрешонных вгоняеш
поставь
ApplyUpdates(-1)


 
Vlad ©   (2004-01-13 16:38) [35]


> чайник1 (13.01.04 16:04) [33]

Кусок кода, который ты привел, находится внутри модуля Dat1 ?
Если так, то убери все ссылки на него.
Вобще что-то странное. Насколько я помню, "разрушительный сбой" - это Access Violation по нашему :-) Т.е. обращение к объекту, который nil...



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

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

Наверх




Память: 0.54 MB
Время: 0.033 c
1-16221
Babay
2004-01-26 07:49
2004.02.06
XPmanifest и Dll (большой ворос)


6-16548
stud
2003-12-03 17:01
2004.02.06
сети,сети.....


1-16501
Sergioly
2004-01-27 14:30
2004.02.06
Как запустить дос-прогу без вывода ее окна в Delphi


14-16667
новичок_из_сыктывкара
2004-01-17 23:11
2004.02.06
ОТветьте пожайлуста, можно ли уже готовый .exe (если я точно зна)


14-16721
Nick-From
2004-01-14 18:52
2004.02.06
Что это за процесс такой ?