Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.01.21;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.51 MB
Время: 0.044 c
15-1167437704
eXPell
2006-12-30 03:15
2007.01.21
Чудеса да и только


5-1147098886
Dstr
2006-05-08 18:34
2007.01.21
RichWiev


2-1167988619
Sesh
2007-01-05 12:16
2007.01.21
Эмитациа работы на клавиатуре


1-1164779650
roughneck
2006-11-29 08:54
2007.01.21
Компоненты на TPanel


1-1164886595
CaSH_
2006-11-30 14:36
2007.01.21
TreeView при выделении строки иконка меняется (продолжение)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский