Форум: "Прочее";
Текущий архив: 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