if not CreateProcess(PChar(Converter), PChar('"' + Converter + '" "' + SrcFile + '" "' + Result + '" /storefile'), nil, nil, False, 0, nil, nil, SI, PI) then
...when altering one's mind becomes as easy as programming a computer, what does it mean to be human?..
31 октября 2008 г.
Ответ на задачку №2
Главная проблема в приведённом коде находится в этой строке:
Переводы
Начиная с этого момента я решил время от времени выкладывать переводы интересных (с моей точки зрения) постов в блогах. Например, в The Old New Thing.
Да, я знаю, что я ни разу не переводчик, и что мои переводы будут отстоем.
Да, я знаю, что я ни разу не переводчик, и что мои переводы будут отстоем.
19 октября 2008 г.
Обновление TasksEx - попытка №2
Обновился модуль TasksEx, включая пример. Текст статьи остался без изменений, просто был перезалит обновлённый архив.
В модуль добавлены стандартные процедуры для отмены выполнения потока. Реализация проста - при запуске потока EnterWorkerThread возвращает дескриптор задачи, который потом можно передать в одну из функций отмены - AbortXXX. В рамках самого потока вы должны периодически вызывать CheckAbort, которая возбудит тихое исключение, если поток был отменён.
Предложенный функционал является универсальным в том смысле, что функции отмены можно использовать не только для рабочих потоков EnterWorkerThread, но и для любых потоков вообще. Для регистрации потоков служат функции Register/UnregisterWorkerThread.
Также, по просьбе некоторых товарищей туда вошёл этот функционал.
В модуль добавлены стандартные процедуры для отмены выполнения потока. Реализация проста - при запуске потока EnterWorkerThread возвращает дескриптор задачи, который потом можно передать в одну из функций отмены - AbortXXX. В рамках самого потока вы должны периодически вызывать CheckAbort, которая возбудит тихое исключение, если поток был отменён.
Предложенный функционал является универсальным в том смысле, что функции отмены можно использовать не только для рабочих потоков EnterWorkerThread, но и для любых потоков вообще. Для регистрации потоков служат функции Register/UnregisterWorkerThread.
Также, по просьбе некоторых товарищей туда вошёл этот функционал.
6 октября 2008 г.
Сага о X, Y и Z...
...или о том, как же важно правильно формулировать, чего мы хотим.
Однажды Новичок захотел сделать X. Но поскольку Новичок был новичком, X с ходу у него сделать не получилось...
Однажды Новичок захотел сделать X. Но поскольку Новичок был новичком, X с ходу у него сделать не получилось...
3 октября 2008 г.
Несколько слов о виртуализации в Vista
Это копия моего поста с форума.
Виртуализация позволяет работать в Vista старым кривым программам, которые пытаются писать свои даные в не предназначенные для этого места (Program Files, Windows и т.п.).
Виртуализация позволяет работать в Vista старым кривым программам, которые пытаются писать свои даные в не предназначенные для этого места (Program Files, Windows и т.п.).
Подписаться на:
Сообщения
(
Atom
)