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

Вниз

О пользе Архангельского :)))   Найти похожие ветки 

 
Ega23 ©   (2006-12-21 16:24) [0]

С местного форума

вобщем так

это часть проги, читающей с ком порта данные, т.е сделана так - ждет когда на буфер порта приходят данные и считывает их (WaitCommEvent)
когда данных нету, она висит в ожидании..
сделал отдельный поток для этой штуки, но форма все равно висит, в чем дело?


type
TFirstProcess=class(TThread)
private
  { Private declarations }
protected
  procedure Work;
  procedure Execute; override;
end;
.....
procedure TFirstProcess.Execute;
begin
//while not Terminated do
 Synchronize(Work);
end;

procedure TFirstProcess.Work;
var a:DWORD;
begin
  WriteCom;
  if SetCommMask(fHandle, EV_RXCHAR) then
     WaitCommEvent(fHandle, a, nil)
  else ShowMessage("cant wait for com buffer");
   if (a=EV_RXCHAR) then
     begin
      ReadCom;
    //mm1.Lines.Add(IntToStr(z)+"  "+s);
      PurgeComm(fhandle,PURGE_RXCLEAR);
     end;
 ClosePort;
end;

procedure TForm1.btn1Click(Sender: TObject);
Begin

  if btn1.Caption = "Stop" then
   begin
     P1.Terminate;
     btn1.Caption:="Go";
     Exit;
   end;

 if btn1.Caption ="Go" then
  begin
   p1:=TFirstProcess.Create(False);
   p1.Priority:=tpLowest;
   btn1.Caption:= "Stop";
  end;
End;
....


 
TUser ©   (2006-12-21 16:30) [1]

Я не понимаю, почему программисты не любят Архангельского. Сначала обсуждают, что много непрофессионалов, батонокидателей, что от этих демпингующих студентов конкуренция идет. А потом ругают человека, который столько всего делает, чтобы у демпингующих студентов прога не заработала! Да ни один Мастер Делфи не принес столько труда на алтарь очищения рынка от конкурентов! Да вы все должны закупать книжки Архангельского оптом и раздавать потом бесплатно!


 
Anatoly Podgoretsky ©   (2006-12-21 16:32) [2]

Ну так любимый конек Архангельского.
Слышал, что он новую книгу напечатал, как там с этим, все по старому?


 
pasha_golub ©   (2006-12-21 16:33) [3]


> TUser ©   (21.12.06 16:30) [1]


> Да вы все должны закупать книжки Архангельского оптом и
> раздавать потом бесплатно!

Врагам.


 
Павел Калугин ©   (2006-12-21 16:34) [4]

> [3] pasha_golub ©   (21.12.06 16:33)

не врагам а потенциальным конкуентам:)


 
Marser ©   (2006-12-21 16:39) [5]

Мой новый напарник раньше не работал с потоками. По Делфи он читал книжечку Бобровского. Говрит, мол, там и потоки есть, я уже почитал. Тут я интуитивно почувствовал неладное и заглянул в это книжечку. Там вот Бобруйский полностью наследует Архангельского патриарха. Немного поматерившись и посоветовав отправить книжку фтопку, на следующий день я ему принёс Калверта, "Delphi 4 unleashed"...


 
tesseract ©   (2006-12-21 17:55) [6]

Плакалъ над [0]


 
Ученик чародея ©   (2006-12-21 20:05) [7]


>
> Ega23 ©   (21.12.06 16:24)
>
> С местного форума


Клево, синхронизироваться на основной VCL поток в опросе цикла COM-порта. А потом пишут что все Делфисты - ламеры. Хотя действительно среда виновата, если Delphi мелки ошибки прощает и сама поправляет, то в C/C++ любая ошибка - это "серпом по яйцам". В С учишься быть сапером-программистом, который почти никогда не ошибается.


 
Gero ©   (2006-12-28 16:09) [8]

Нелюбовь к Архангелькому напоминает мне нелюбовь линуксоидов к Windows. Такая же святая и такая же нелепая.
На самом деле Архангельский никоим образом не советует делать так, как в [0]. Просто неудачно подобранные примеры сделали свое дело.

В процедуре Execute можно непосредственно писать операторы выполнения, вызовы каких-то функций и т.п. Однако, если процедура должна вызывать какие-то методы компонентов VCL или обращаться к свойствам формы, то необходимо соблюдать осторожность, поскольку при этом не исключены конфликты между паралельно выполняемыми нитями. В этом случае в процедуре надо вызывать метод Synchronize, как сказано в комментарии, который вы могли видеть в приведенной выше заготовке модуля.
(c) А.Я. Архангельский


 
Игорь Шевченко ©   (2006-12-28 16:16) [9]


> Нелюбовь к Архангелькому напоминает мне нелюбовь линуксоидов
> к Windows. Такая же святая и такая же нелепая.


Бросьте, Эйхман, мы с вами не в рейсхминистерстве пропаганды, это там аллюзии ищут.


 
Anatoly Podgoretsky ©   (2006-12-28 16:20) [10]

> Gero  (28.12.2006 16:09:08)  [8]

Так претензии именно к примеру, поскольку именно им он очень много сделал для развития компьютерной мысли


 
Ega23 ©   (2006-12-28 16:33) [11]


> Нелюбовь к Архангелькому напоминает мне нелюбовь линуксоидов
> к Windows. Такая же святая и такая же нелепая.
> На самом деле Архангельский никоим образом не советует делать
> так, как в [0]. Просто неудачно подобранные примеры сделали
> свое дело.


Не далее как сегодня:
http://delphimaster.net/view/2-1167293326/


 
Real ©   (2006-12-28 16:45) [12]

Уже ветка было о пользе его книг. Т.к. они толстые - очень удобно подкладывать куда нить :)


 
clickmaker ©   (2006-12-28 16:53) [13]

правильный моск книгой не испортишь


 
Real ©   (2006-12-28 17:12) [14]


> правильный моск книгой не испортишь

Смотря какой книгой...


 
Gero ©   (2006-12-28 17:13) [15]

> [14] Real ©   (28.12.06 17:12)

Это точно, если грамотно метнуть, то можно очень даже испортить.


 
Ega23 ©   (2006-12-28 17:14) [16]


> Смотря какой книгой...


"Устав караульной и гарнизонной службы"


 
Anatoly Podgoretsky ©   (2006-12-28 18:06) [17]

> Gero  (28.12.2006 17:13:15)  [15]

> Это точно, если грамотно метнуть, то можно очень даже испортить.

Тогда Архангельский это правильная книга.


 
Kolan ©   (2006-12-28 19:31) [18]

«if btn1.Caption = "Stop" then»

Меня вот такие приемы пугают. А вы так делаете?


 
Ega23 ©   (2006-12-28 19:33) [19]


> Меня вот такие приемы пугают. А вы так делаете?


Ну что ты, конечно мы так не делаем.
if ANSIUpperCase(Trim(btn1.Caption)) = "STOP" then
Только так.


 
Kolan ©   (2006-12-28 19:39) [20]

«Только так.»

Еще страшнее :)


 
default ©   (2006-12-28 19:50) [21]

а кто-то ветки читает по шапкам:)
придёт в магаз покупать книгу
видит выбор большой чё покупать - хз
и мелькнёт в его голове заглавие данной темы и купит он его!


 
Virgo_Style ©   (2006-12-28 19:58) [22]

default ©   (28.12.06 19:50) [21]
мы его теряем


 
Real ©   (2006-12-28 20:03) [23]


> "Устав караульной и гарнизонной службы"

О, я месяца два сей мануал зубрил и сдавал экзамен по нему :)



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

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

Наверх




Память: 0.53 MB
Время: 0.036 c
2-1167032516
KyRo
2006-12-25 10:41
2007.01.21
Подскажите как сделать DBGrid без скролов


1-1164629646
NeyroSpace
2006-11-27 15:14
2007.01.21
Вопрос про плагины (компонент TJvPlugin)


3-1162210429
Rickkk
2006-10-30 15:13
2007.01.21
Проблема с lookup-полями в запросе


11-1144316016
BaryVetaL
2006-04-06 13:33
2007.01.21
В догонку к BVLedNumber...


15-1167236824
kaZaNoVa
2006-12-27 19:27
2007.01.21
Выделение строк