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

Вниз

SendMessage   Найти похожие ветки 

 
OldMBr ©   (2012-06-25 10:33) [0]

Уважаемые коллеги!
По идее SendMessage должна работать как экстренные сообщения.
И она у меня работает так, но только с типом сообщения WM_SETTEXT,
причем только для окна формы. У компонента Edit тоже есть HANDLE, но
в его поле TEXT информация вовремя не попадает, если идет какой-либо вычислительный процесс. Вот пример процедуры:

procedure Tfm_mess.Label1Click(Sender: TObject);
Var i,j:Integer; txt:String;
begin
For i := 1 to 5 Do
Begin
 Str(i,txt);
 SendMessage(fm_mess.Handle,WM_SETTEXT,0,DWORD(PChar(txt)));
 SendMessage(fm_mess.Edit1.Handle,WM_SETTEXT,0,DWORD(PChar(txt)));
 For j := 1 to MaxInt Do
 Begin
 End; // j.
End; // i.
Label2.Caption := "Программа завершена";
end;

На форме fm_mess две метки и один Edit. В заголовке fm_mess исправно отображается номер внешнего цикла по i, а в Edit.Text – нет.
Где еще можно оперативно отслеживать нужную информацию?
Заранее благодарен.


 
MsGuns ©   (2012-06-25 10:42) [1]

>По идее SendMessage должна работать как экстренные сообщения.

Это неправильная идея


 
Inovet ©   (2012-06-25 10:54) [2]

> [0] OldMBr ©   (25.06.12 10:33)
> информация вовремя не попадает, если идет какой-либо вычислительный
> процесс

ProcessMessages()


 
Inovet ©   (2012-06-25 10:56) [3]

Да, а почему напрямую нельзя в едитах менять текст?


 
Palladin ©   (2012-06-25 11:05) [4]


> По идее SendMessage должна работать как экстренные сообщения.

Это не то что бы неправильная идея, это другая идея, к реализации механизма оконных сообщений Windows отношения не имеющая


 
QAZ   (2012-06-25 11:46) [5]

Edit1.Perform(WM_SETTEXT,0,DWORD(PChar(txt)));


 
Cobalt ©   (2012-06-25 15:21) [6]

> Где еще можно оперативно отслеживать нужную информацию?
OutputDebugStringW


 
OldMBr ©   (2012-06-25 16:31) [7]

Уважаемые коллеги! Форса у вас хватает. По существу — ничего полезного. Был задан вполне конкретный вопрос с листингом – где конкретный ответ с листингом, или, по крайней мере, с указаниями, что изменить, добавить, удалить? Напрашивается вопрос об уровне моих экспертов... "Неправильная идея" – а которая правильная? Я практик. Пока программа не растранслируется без ошибок и не произведет требуемые действия – все советы по "расширению кругозора" несущественны.
   Напишите (если вообще можете) листинг, где ОТРАЖАЕТСЯ номер переменной внешнего цикла в Edit.Text с помощью WM_SETTEXT, проверьте, работает ли это НА САМОМ ДЕЛЕ, А потом уже советуйте мне развивать свой кругозор. Кстати, моя первая программа на Algolе датируется 1970-м годом, но снобизма у меня нет, хоть и работал на таких ЭВМ, что многим и не снились. Это так, к слову пришлось.


 
OldMBr ©   (2012-06-25 16:45) [8]

P.S. Скорее всего, я долго ещё буду думать, прежде чем задать вопрос нашим "мастерам".
            Вот анекдот к слову (старый, но содержательный):
Едет по Москве таксист-дагестанец. Красный свет, скорость – 90, проскакивает. Пассажир:"Ты что делаешь?!!" — "Пусть видят, настоящий джигит едет"!
Вдруг на зелёный свет "джигит" – по тормозам. "А сейчас что?" – "Видишь..." (в это время на красный свет проносится авто на скорости 120 км/час),—
                   "Паымаешь, ещё больший джигит едет..."
       ПАНЫМАЮ, что я при всём своём отставании часто "еще больший джигит", а реноме мне поддерживать незачем, мне 66 лет, и то, что я знаю, я знаю, а чего не знаю – скажу прямо, в отличие от некоторых... мм... джигитов!


 
Ega23 ©   (2012-06-25 16:54) [9]


> Уважаемые коллеги! Форса у вас хватает. По существу — ничего
> полезного. Был задан вполне конкретный вопрос с листингом
> – где конкретный ответ с листингом, или, по крайней мере,
>  с указаниями, что изменить, добавить, удалить? Напрашивается
> вопрос об уровне моих экспертов... "Неправильная идея" –
> а которая правильная? Я практик. Пока программа не растранслируется
> без ошибок и не произведет требуемые действия – все советы
> по "расширению кругозора" несущественны.


Вам всё ответили уже.
ProcessMessages + F1, коль скоро вы в основном потоке приложения свой цикл организовали.


 
Давайте будем жрать!   (2012-06-25 17:54) [10]

111: у меня комп глючит, что делать???

ответы:
222: у меня машина не заводится, в чем причина?
333: хочу похудеть, но не получается, что делать?
444: я поссорился с женой, не понимаю, почему?
555: сварил пельмени, получилось невкусно, почему так?
666: я заболел, как мне вылечиться?

111: вы что дибилы штоль? это форум про кампы а не для тупых домахозяек как вы!!!! мне нужен конкретный ответ на конкретный вопрос!!


 
Virgo_Style ©   (2012-06-25 21:04) [11]


> Пока программа не растранслируется без ошибок и не произведет
> требуемые действия – все советы по "расширению кругозора"
> несущественны.


"Пока проблема не будет решена, искать пути ее решения я не буду".
Интересный подход.


 
Юрий Зотов ©   (2012-06-25 22:05) [12]

> Напишите (если вообще можете) листинг, где ОТРАЖАЕТСЯ номер
> переменной внешнего цикла в Edit.Text с помощью WM_SETTEXT


procedure TForm1.FormDblClick(Sender: TObject);
var
 i, j: integer;
 s: string;
begin
 for i := 1 to 5 do
 begin
   s := IntToStr(i);
   SendMessage(Handle, WM_SETTEXT, 0, DWORD(PChar(s)));
   SendMessage(Edit1.Handle, WM_SETTEXT, 0, DWORD(PChar(s)));
   Application.ProcessMessages; // Это именно то, о чем Вам уже говорили
   for j := 1 to MaxInt do
 end;
 Caption := "Программа завершена"
end;


> проверьте, работает ли это НА САМОМ ДЕЛЕ

Вы не поверите, но это на самом деле работает. Я проверял.

> А потом уже советуйте мне развивать свой кругозор.

Ну, раз уже можно, то советую Вам развивать свой кругозор. В области Delphi, естественно, коль уж скоро Вы на ней пишете. В частности, стоит обратить внимание на класс TThread - если долгие вычисления вынести в отдельный поток, то GUI не будет "подвисать". А Application.ProcessMessages, хотя и работает, но вариант не лучший.

> Кстати, моя первая программа на Algolе датируется 1970-м годом,

Моя - 69-м. И здесь есть люди, которые начали программить еще раньше. Так что хвалитесь Вы напрасно.

> но снобизма у меня нет, хоть и работал на таких ЭВМ,
> что многим и не снились.


LOL ?


 
Inovet ©   (2012-06-26 01:35) [13]

> [12] Юрий Зотов ©   (25.06.12 22:05)
> то советую Вам развивать свой кругозор. В области Delphi,
> естественно, коль уж скоро Вы на ней пишете.

По-моему, не только в Делфи - тут надо основные принципы работы Windows понять. И вообще, какой смысл выводить значение во время выполнения расчёта именно в Едит.


 
Inovet ©   (2012-06-26 01:36) [14]

> [13] Inovet ©   (26.06.12 01:35)
> вообще

в частности


 
Cobalt ©   (2012-06-26 08:40) [15]

> И вообще, какой смысл выводить значение во время выполнения расчёта именно в Едит.
Чтобы красиво циферки мельтешили.
Видели, наверное. в голливудских блокбастерах - буковки в строке крутятся, крутятся и складываются в осмысленные слова?


 
Anatoly Podgoretsky ©   (2012-06-26 08:54) [16]


> Видели, наверное. в голливудских блокбастерах - буковки
> в строке крутятся, крутятся и складываются в осмысленные
> слова?

Подбор пароля, по буквенный


 
Давайте будем жрать!   (2012-06-26 09:12) [17]

Вот мы смеётесь, а дядька напишет Матрицу и всех нас зохавает.


 
Кэп   (2012-06-26 11:24) [18]

Оужас! Нас всех поработит старый MBr 8()


 
нет   (2012-06-26 12:09) [19]

http://www.stihi.ru/photos/sobakagella.jpg

«Программисты» – говорим мы...
Не поймёшь, хоть и не дура.
Если снятся алгоритмы,
Где ты сам как процедура.

Оператор перехода,
Оператор обращенья...
Хоть на миг сфальшивил – сходу
Бац! На выход! Нет прощенья!

А забытые константы?
А побочные эффекты?
Много есть чего. Оставим,
Как побочные аспекты.

© Copyright: OldMBr


 
MsGuns ©   (2012-06-26 12:14) [20]

>http://www.stihi.ru/photos/sobakagella.jpg

Если б еща бородку с усами - ну вылитый Ильич в Шушенском :)


 
Inovet ©   (2012-06-26 12:31) [21]

> [19] нет   (26.06.12 12:09)

перехода-сходу бы заменить однокоренные.



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

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

Наверх




Память: 0.52 MB
Время: 0.108 c
2-1333499708
Dron55555555555
2012-04-04 04:35
2013.03.22
Дробные числа 2


11-1243251080
Jon
2009-05-25 15:31
2013.03.22
KOL TabControl Error


15-1339488214
ProgRAMmer Dimonych
2012-06-12 12:03
2013.03.22
Кириллические домены и GetAddrInfoW


2-1333709191
Jimmy
2012-04-06 14:46
2013.03.22
Как избавится от мерцания?


6-1260901006
talero
2009-12-15 21:16
2013.03.22
idhttp и ssl