
февраля 16, 2010 10:36 by
cya-st
Многии начинающие програмисты не знают о методе Application.ProcessMessage() и сталкиваются с проблемами, которых не могут объяснить. Например, мы хотим написать что-то на форме и через 5 секунд стереть. Нужно сделать так:
1: procedure TForm1.Button1Click(Sender: TObject);
2: begin
3: Label1.Caption:='Started';
4: Application.ProcessMessage;
5: Sleep(5000);
6: Label1.Caption:='Finished';
7: end;
Попробуйте убрать Application.ProcessMessage(), и вы никогда не увидете слова "Started". Это связано с тем, что Windows ждет, пока накопятся сообщения в очереди, а не обрабатывает их сразу. Application.ProcessMessage() заставляет обработать все сообщения, которые накопились в данный момент. Подробности можно найти в файлах справки.
Еще это можно применить так:
1: procedure TForm1.Button1Click(Sender: TObject);
2: var
3: i:integer;
4: begin
5: for i:=1 to 100000 do
6: begin
7: ProgressBar1.Position:=i;
8: Application.ProcessMessage;
9: end;
10: end;
Если убрать Application.ProcessMessage(), то, пока выполняетсяцикл, мы не сможем сдвинуть, свернуть форму, вывести ProgressBar1.
217815a3-df77-4bb3-9392-b7172cf68ebc|1|5.0

февраля 14, 2010 17:08 by
cya-st
Сегодня краткая статья. Сталкивался с этой проблемой, пишу для того что-бы запомнить и конечно для моих читателей. Иногда после обновления Qt/Qt Creator, в Qt Creator возникает ошибка доступа к документации. Простое лечение: в Qt Creator заходим в пункт меню "Tools->Options", далее переходим на вкладку "Help->Documentation", в "Registered Documentation" удаляем все записи, и добавляем все файлы с расширением *.qch из папки QTDIR/doc/qch на жестком диске. После этого переходим на вкладку "Qt4->Qt Versions" и проверяем правильность указания путей к QMake и MinGW, нажимаем кнопку Rebuild. Перегружаем программу Qt Creator (на вякий случай), и радуемся работе справки Assistant. Если что не понятно, прошу в комменты.
c2c0fd3b-93e3-4090-a125-04407f9b5e63|1|5.0

февраля 9, 2010 06:09 by
cya-st
Вышел очередной релиз кандидат VS2010. Всем будет доступен для скачивания гдето 11 февраля, до 11 феврвля только для подписчиков MSDN.
10535168-95c5-4728-8964-17808a960068|0|.0

февраля 1, 2010 07:28 by
cya-st
Здравствуйте дорогие читатели. Давненько не писал в этом блоге, на то были свои причины: праздники, выходные, да и если честно, то небыло о чем писать.
Сегодня хочу поделится с вами как можно установить атрибут Target для SiteMapNode, в моем случае надо было запускать ссылку в новом окне. Для этого использовался контрол asp:Menu. Надо определить событие MenuItemDataBound контрола asp:Menu:
1: protected void Menu1_MenuItemDataBound(object sender, MenuEventArgs e)//Target For Menu Forum
2: {
3: if(e.Item.NavigateUrl == "http://forum.cya-st.com/")
4: e.Item.Target = "_blank";
5: }
На сегодня все. Надеюсь статейка была вам полезна.
a5fb5ba4-ca26-425c-9181-bafa8d2c3c4d|1|5.0