Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 487
от 29.05.2006, 22:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 337, Экспертов: 66
В номере:Вопросов: 5, Ответов: 8


Вопрос № 44072: Подскажите пожалуйста, функцию API или комп. с помощью которой можно читать-писать на физическом уровне на жесткий диск (по секторно особенно если как логич. диск винт не цепляется)...
Вопрос № 44076: Уважаемые эксперты, помогите решить задачу. Необходимо запустить н-ное количество приложений (для примера - два разных) с известными путями к *.ехе и далее следить за их завершением. В случае завершения какого-либо процесса (например при критической ...
Вопрос № 44106: Здраствуйте,эксперты! Обьясните и если можно покажите смысл ошибки "Statement expected but 'FUNCION' found" в моей программе (в приложении). Заранее благодарен!...
Вопрос № 44115: Здравствуйте Уважаемые Эксперты! Кто нибуть знает, как поставить на Delphi 7 - 2006 компоненты откомпилированные на Delphi 5 или меньше? Исходного кода компонентов не имеется. Заранее Спасибо....
Вопрос № 44134: Привет всем. Я работаю с FTP в локальной сети. Идет обмен больших объемов информации. Но когда начинается прием или передача, то видно визульно торможение программы(к тому же она кушает 50% проца). Программа не зависает, и через некоторое вермя резул...

Вопрос № 44.072
Подскажите пожалуйста, функцию API или комп. с помощью которой можно читать-писать на физическом уровне на жесткий диск (по секторно особенно если как логич. диск винт не цепляется)
Отправлен: 24.05.2006, 10:06
Вопрос задал: SergBSI (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, SergBSI!

Скорей всего, в справочнике по WinAPI вы не найдете ф-ий для работы с диском на низком уровне. Вам понадобится работать не с системными вызовами, и даже не с NativeAPI, а с драйвером кон троллера жесткого диска.

Если вам необязательно встраивать это в свою программу, то можно попробывать использовать Disk Investigator 1.4
Ответ отправил: Сухомлин Кирилл Владимирович (статус: 6-ой класс)
Ответ отправлен: 24.05.2006, 12:39
Оценка за ответ: 4


Вопрос № 44.076
Уважаемые эксперты, помогите решить задачу. Необходимо запустить н-ное количество приложений (для примера - два разных) с известными путями к *.ехе и далее следить за их завершением. В случае завершения какого-либо процесса (например при критической ошибке) необходимо заново запустить данное приложение. Следить за завершением одного процесса при помощи WaitForSingleObject умею, но при этом моя программа зависает до момента завершения запущенного приложения, а как вариант зацикливание и использование Application.ProcessMessages меня не устраивает (сильно загружается процессор). Итак, необходимо:
1. Запустить n приложений.
2. Слежить за этими процессами (известен путь к *.ехе) без зависания и потребления ресурсов.
3. В случае завершения процесса - перезапустить его и опять следить...
Жду советов, листингов, исходников или компонент. Спасибо!
Отправлен: 24.05.2006, 10:44
Вопрос задал: Galay (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Лукьяненко Алексей Валериевич
Здравствуйте, Galay!

Как простейший вариант - создать дополнительный поток, в котором запустить один процесс и ждать его завершения, второй поток - для второго, и т.д.
Ответ отправил: Лукьяненко Алексей Валериевич (статус: 3-ий класс)
Ответ отправлен: 24.05.2006, 10:48
Оценка за ответ: 5

Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Galay!
Есть еще вариант WaitForMultipleObjects, но перезапускать неудачно завершившиеся процесссы сразу после их завершения не получится.

Потоки - это не страшно. В данном случае вам не нужна никакая синхронизация, а именно это - самая сложная часть работы с несколькими потоками.

Приложение:

Ответ отправил: Сухомлин Кирилл Владимирович (статус: 6-ой класс)
Ответ отправлен: 24.05.2006, 12:25
Оценка за ответ: 5

Отвечает: Kazakh
Здравствуйте, Galay!
Примерчик в приложении.
Создайте новы проект.
Положите на форму Memo1, Memo2, Button1.
В Memo1.lines задайте пути к приложениям (для примера 2-3 хватит)
компилируйте и разбирайтесь

Приложение:

---------
Если собеседник затрудняется ответить, значит, вопрос поставлен правильно.

Ответ отправил: Kazakh (статус: 9-ый класс)
Ответ отправлен: 24.05.2006, 17:40
Оценка за ответ: 5
Комментарий оценки:
Вау! супер! Эменно то что надо. Большое спасибо!


Вопрос № 44.106
Здраствуйте,эксперты!
Обьясните и если можно покажите смысл ошибки "Statement expected but 'FUNCION' found" в моей программе (в приложении).
Заранее благодарен!

Приложение:

Отправлен: 24.05.2006, 16:09
Вопрос задал: chikanok (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Проходящий Мимо
Здравствуйте, chikanok!
Вам нужно перед function CreateGLWIndow... поставить "end;" :

end;

function CreateGLWIndow(title: Pchar; W: integer; H: integer; bits: integer): bool;
stdcall;
---------
Carpe diem!
Ответ отправил: Проходящий Мимо (статус: 4-ый класс)
Ответ отправлен: 24.05.2006, 16:27


Вопрос № 44.115
Здравствуйте Уважаемые Эксперты! Кто нибуть знает, как поставить на Delphi 7 - 2006 компоненты откомпилированные на Delphi 5 или меньше? Исходного кода компонентов не имеется. Заранее Спасибо.
Отправлен: 24.05.2006, 17:58
Вопрос задал: Шишкин М.А. (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Николай Б.
Здравствуйте, Шишкин М.А.!
При установке компонентов создаются библиотеки *.bpl. Они расположены в папке C:windows или C:windowssystem (C:windowssystem32). В меню Delphi 7 выбираете установку компонента и указываете *.bpl-файл. Компонент установится.
Как устанавливать в BDS 2005 (2006) - не знаю. Под них всё по-другому и пока ещё под них мало компонентов.
Удачи.
ЗЫ: если что, пишите в мини-форум.
---------
Недавно прошёл тест на IQ. Результат отрицательный.
Ответ отправил: Николай Б. (статус: 9-ый класс)
Ответ отправлен: 24.05.2006, 18:52


Вопрос № 44.134
Привет всем. Я работаю с FTP в локальной сети. Идет обмен больших объемов информации. Но когда начинается прием или передача, то видно визульно торможение программы(к тому же она кушает 50% проца). Программа не зависает, и через некоторое вермя результат работы отображается. Хотелось бы каким либо способом избавится от этого явления. Главное чтобы пользователь не думал, что программа зависла. Посовутейте что-нибудь.
Отправлен: 24.05.2006, 21:27
Вопрос задал: CJ (статус: Практикант)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Bochvarov NikB
Здравствуйте, CJ!

Надо применят tThread, я не пробовал конкретно с FTP, но с универсалньим сокетам все ОК.
Ответ отправил: Bochvarov NikB (статус: 8-ой класс)
Ответ отправлен: 24.05.2006, 21:44

Отвечает: Ерёмин Андрей
Здравствуйте, CJ!
Наверняка обмен данными у вас идёт блоками/пакетами, т.е. своеобразным циклом. Попробуйте найти такое событие, которое периодически выполняется при передаче данных и добавьте туда такую строку: Application.ProcessMessages;
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на DELPHI: Всё для программиста.
ICQ: 286837644
----
Ответ отправлен: 25.05.2006, 07:50


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.33 от 25.05.2006
Яндекс Rambler's Top100

В избранное