Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: FireDAC зависает при разрыве соединения.  [new]
Кроик Семён
Member

Откуда: СПб --> Dortmund
Сообщений: 6281
P.S.
http://delphimaster.net/view/1-10818
9 окт 18, 16:44    [21699483]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC зависает при разрыве соединения.  [new]
Кроик Семён
Member

Откуда: СПб --> Dortmund
Сообщений: 6281
P.S.
спасибо короче, главное увидел в написанном виде
9 окт 18, 16:48    [21699487]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC зависает при разрыве соединения.  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 29296

09.10.2018 16:43, Кроик Семён пишет:
> в доке этого нет (D6 german)

это было и есть всегда.
проверил в справке к D5
Complete Boolean Evaluation

Posted via ActualForum NNTP Server 1.5

9 окт 18, 16:50    [21699488]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC зависает при разрыве соединения.  [new]
Игорь_UUS
Member

Откуда: г. Екатеринбург
Сообщений: 499
Кроик Семён
                 ## 1 ##                           ## 2 ##
while (FWaitThread <> nil) and (FWaitThread.ThreadID <> TThread.Current.ThreadID) do


Kстати, нигде не смог найти в доке, но опытным путем заметил (Delphi 6), что второе условие не будет даже проверятся, если первое FALSE.
И всвязи с этим не знаю, всегда ли такое поведение. Есть ли 100%-ая гарания этой последовательности выполнения.
Ведь если нет, то возможен вызов FWaitThread.ThreadID даже если FWaitThread=nil.


По логике, если FWaitThread = nil и оно стоит вторым, то как раз таки, будут ошибки памяти т.к. идёт обращение к потоку, если оно стоит первый и равно nil то второе условие не будет проверяться, а будет проигнорировано
9 окт 18, 17:03    [21699500]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC зависает при разрыве соединения.  [new]
Котовасия
Member

Откуда:
Сообщений: 1187
Кроик Семён
                 ## 1 ##                           ## 2 ##
while (FWaitThread <> nil) and (FWaitThread.ThreadID <> TThread.Current.ThreadID) do


Kстати, нигде не смог найти в доке, но опытным путем заметил (Delphi 6), что второе условие не будет даже проверятся, если первое FALSE.
И всвязи с этим не знаю, всегда ли такое поведение. Есть ли 100%-ая гарания этой последовательности выполнения.
Ведь если нет, то возможен вызов FWaitThread.ThreadID даже если FWaitThread=nil.

Открой свойства проекта и нажми F1:
Complete boolean eval
Switches between the two different models of Delphi code generation for the AND and OR Boolean operators. When enabled (equivalent to {$B+}), the compiler generates code for complete Boolean expression evaluation. This means that every operand of a Boolean expression built from the AND and OR operators is guaranteed to be evaluated, even when the result of the entire expression is already known. When disabled (equivalent to {$B-}), the compiler generates code for short-circuit Boolean expression evaluation, which means that evaluation stops as soon as the result of the entire expression becomes evident in left to right order of evaluation.


К сообщению приложен файл. Размер - 49Kb
9 окт 18, 17:45    [21699551]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC зависает при разрыве соединения.  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1203
Мимопроходящий
09.10.2018 16:10, X-Cite пишет:
> Так оформите в QC

а смысл?
он же с автором общался.

Сказанное в слух - будет забыто и забито.
Положенное на бумагу - будет мозолить глаза.
9 окт 18, 18:11    [21699582]     Ответить | Цитировать Сообщить модератору
 Re: FireDAC зависает при разрыве соединения.  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9657
X-Cite
Сказанное в слух - будет забыто и забито.
Положенное на бумагу - будет мозолить глаза.

+3
9 окт 18, 18:26    [21699591]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Delphi Ответить