"Tonal" ...
>
> Остыньте, горячие эстонские парни! /*нар. анекдот*/
Это ты кому ?
...
> И куда тут из что из блока try...except вылетит?
И что тут противоречит моим словам ? Разве что не убиение
приложения ОСью, а сохранение исключения в TThread.FatalException
и возможность его обработк
Остыньте, горячие эстонские парни! /*нар. анекдот*/
Вот кусок VCL от 7-ки.
Через эту ыункцию выполнение и пускается:
function ThreadProc(Thread: TThread): Integer;
var
FreeThread: Boolean;
begin
{$IFDEF LINUX}
if Thread.FSuspended then sem_wait(Thread.FCreateSuspendedSem);
{$ENDIF}
try
Hi Konstantin R. Beliaev !
KRB> А куда по-твоему он еще может попасть? Raise выкидывает
KRB> exception на более верхний уровень, которым для твоего
KRB> треда является уровень Application, т.е. основной поток
KRB> VCL, который перехватывает все ошибки подряд
Что значит "перехватывает"
"Konstantin R. Beliaev" ...
>
> Vlad Horsun wrote:
> > Откуда дровишки ?
>
> Из хелпа по try...except, вестимо:
> ---
> If an exception is raised during execution of the initial statements
> list, either by a raise statement in the statements list or by a
> procedure or function called from th
Vlad Horsun wrote:
Откуда дровишки ?
Из хелпа по try...except, вестимо:
---
If an exception is raised during execution of the initial statements
list, either by a raise statement in the statements list or by a
procedure or function called from the statements list, an attempt is
made to
"Konstantin R. Beliaev" ...
> > KRB> Он дергает основной поток,
> > Что ЛЮБОЙ raise ???
> Не любой, а необработанный в try-except. А насколько я вижу, у тебя
> обработчика нет, и raise передается в основной поток. Со всеми вытекающими.
Откуда дровишки ?
--
Хорсун Влад
Константин wrote:
Насколько я знаю FibPlus - при закррытии БД, закрываются и
все DataSet'ы ... так что насчёт гридов я не беспокоюсь ...
Я не знаю твой код, но если в треде вы открываешь датасет, а на основной
форме к нему привязан грид - то грид может его дернуть в любой момент.
Ото
> KD> Из моего децтва. На P166, все работало замечательно. На
> KD> P2-333 стало валиться.
>
> Я тоже там был ... TurboPascal небось ?
BC5.02
> KD> 2.1, вполне возможно, стал работать быстрее. Так что твоя программа
> KD> таки успевает наступить себе на йайца и удариться мордом ап асфальт :
DK> да вот я и удивляюсь - зачем такое количество
DK> данных обновлять?
Это вопрос не ко мне, а к поставщикам которые
сотнями тысяч цены меняют и десятками тысяч
добавляют/удаляют позиции из прайсов ...
DK> не бывает "но". что я вижу - в 95% "красивых" решений,
DK> которые были сдела
KD> Я предлагаю в нем написать. Не можешь ...
А если надо ?
KD> "НЕ ВЕРЮ". Хотя вполне возможно...
Я тоже ;) Но факты упрямая весчь ... :(
KD> Из моего децтва. На P166, все работало замечательно. На
KD> P2-333 стало валиться.
Я тоже там был ... TurboPascal небось ?
KD> 2.1, вполн
>> constructor TExec.Create(Task : TExecTask; FileName : String = '');
>> begin
>> inherited Create(true);
h> Сначала инициализация, а потом inherited Create -
h> запомни это правило для наследников TThread
Спасибо, попробую ...
h> Какой syncronize если ты TExec в основном потоке созд
D> Вапервых, нехрен тут орать, а то забаню.
D> Тут орать право ещё заслужить надоть.
D> Мне - можно, и то изредка. Давно не орал. Щас буду.
Дед, ты же знаешь - я тебя, оч. сильно уважаю,
я это ... ну в сердцах уже ... извини коли обидел.
D> Или для тебя это НЕВНЯТНО?
{Skip} пригнул голо
DY> Я все-таки грешу на баг в сервере, у нас была сильная переделка кода
DY> клиента. Но без тестового примера или ватсоновского стек-трейса ничем не
DY> пошевельну.
Да пробую я пробую - пока никак ...
На рабочем проэкте валится, на тестах - нет ...
С уважением,
Константин Григорьевич.
BA> за неделю, в многопоточном приложении, нашел все ошибки :), крут не по
BA> деццки
Ещё раз - код был рабочим и ничего не менялось кроме сервера ...
BA> сработал закон четности ошибок
Вот это было-бы возможно, если-бы что-то менялось у меня коде ...
Если-же не менялось (а не менял
Константин wrote:
constructor TExec.Create(Task : TExecTask; FileName : String = '');
begin
inherited Create(true); // насколько я понимаю создаю
// приостановленную нить
Self.FreeOnTerminate := True;
Self.Priority := tpLower;
try
// этот блок пробо
> 1. Внятного FAQ по Thread-Safe написанию ПРОГРАММ (не UDF) - нет :(
>(по крайней мере я не нашёл)
Я предлагаю в нем написать. Не можешь ... возьми IBProvider и [EMAIL PROTECTED]
мозг.
> 4. И наконец, ещё раз внимательно перечитав нашёл фразу:
>"Кроме того, ошибка может появляться в mult
Константин wrote:
D> Ога. С первого шага нарушаем основное правило "внятного фака" -
D> фигня, временно же - а потом ищем у кого-то глюки, только не у себя :)
Блин, ну задолбало ... Как ещё обьяснить ?
КОД ПОЛНОСТЬЮ был работоспособе под FB 1.5 и под 2.0 !!!
Протестирован н
D>> Ога. С первого шага нарушаем основное правило "внятного фака" -
D>> фигня, временно же - а потом ищем у кого-то глюки, только не у себя :)
Блин, ну задолбало ... Как ещё обьяснить ?
КОД ПОЛНОСТЬЮ был работоспособе под FB 1.5 и под 2.0 !!!
Протестирован неоднократно !!! + Ниче
D> Ога. С первого шага нарушаем основное правило "внятного фака" -
D> фигня, временно же - а потом ищем у кого-то глюки, только не у себя :)
Блин, ну задолбало ... Как ещё обьяснить ?
КОД ПОЛНОСТЬЮ был работоспособе под FB 1.5 и под 2.0 !!!
Протестирован неоднократно !!! + Ниче
Константин wrote:
насчёт отключения конекта в основном потоке я уже
обьяснял - это времено, пока тестиую что-бы под
ногами не путался ;)
Ога. С первого шага нарушаем основное правило "внятного фака" -
фигня, временно же - а потом ищем у кого-то глюки, только не у себя :)
--
DK> может с утра, но выглядит как полный бред.
например у меня есть один запрос выполняющийся
около 2х часов, - если его пустить из основного
потока - приложение до его окончания глухо виснет ...
- На мой взгляд естественно его надо было запихнуть
в нить ... - чтоб никоу не ме
KB> Hi Константин !
KB> К> замечательный метод Syncronize - он не помогает
KB> А ты не забыл, что всё, что ты затолкаешь в этот замечательный
KB> метод, работает в главном потоке приложения ? А если я всё
KB> правильно понял, то коннект ты создаешь в дополнительном потоке.
Ну да, ... стоп
Hello, Константин!
Константин wrote:
Коннект у меня в проге (пока) всегда 1, но:
при работе интерактивно он задекларирован в DataModule.
При запуске больших обработок чего-либо - дабы не тормозить
приложение и систему создаётся приостановленная нить с low
приори
23 matches
Mail list logo