Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как корректно закрыть программу если отсоед родительский диск?


Страницы:   1 2 3

happynewyear ©   (2009-01-09 19:25:00) 

Преветствую! вопрос в теме..


Ega23   (2009-01-13 12:32:00) [1]


> похоже Leonid Troyanovsky © на счет контента был прав :)


Я порнуху на винте храню, на флэшке задолбаешься 40 гиг носить.


happynewyear   (2009-01-13 12:26:00) [2]


> Появляется возможность посидеть, чтобы тебя не дёргали каждые
> 5 минут.


похоже Leonid Troyanovsky © на счет контента был прав :)


Ega23   (2009-01-13 11:03:00) [3]


> Если он уже спит, то в чем смысл вставления флешки?


Появляется возможность посидеть, чтобы тебя не дёргали каждые 5 минут.


KSergey   (2009-01-13 05:40:00) [4]

ну вот, проснулся с ответом, ага...


KSergey   (2009-01-13 05:37:00) [5]

> Riply ©   (12.01.09 16:07) [32]
> Не уверена, что exe-файл, всегда загружается в память целиком.
>
> Если это так, то программе, в процессе работы, может потребоваться  обращение к нему.

для дочитывания ресурсов, например, как уже говорилось.
Да и вообще exe-файл мапится на память, а не загружается в полном смысле этого слова, так что зависит от соотношения размеров выполняемой части exe и физ. памяти.


Riply   (2009-01-13 00:25:00) [6]

> [37] Leonid Troyanovsky ©   (12.01.09 18:20)

> Попробуй, а детали можешь поискать у Д.Рихтера.
> Для C есть, IMHO, и некий ключ для таких PE.

Спасибо.
P.S.
Т.к. заинтересовало, придется посмотреть :)


Leonid Troyanovsky   (2009-01-12 19:04:00) [7]


> Ega23 ©   (12.01.09 13:21) [19]

> Я если и вставляю флэшку в ноут, то только тогда, когда
> ребёнок уже спит.

Если он уже спит, то в чем смысл вставления флешки?

Хотя может, конечно, там контент подходящий :)

--
Regards, LVT.


Leonid Troyanovsky   (2009-01-12 18:20:00) [8]


> Riply ©   (12.01.09 16:07) [32]

> Не уверена, что exe-файл, всегда загружается в память целиком.

Если он грузится с removable, то, для начала, копируется целиком в своп.
То же самое и с dll.

Попробуй, а детали можешь поискать у Д.Рихтера.
Для C есть, IMHO, и некий ключ для таких PE.

--
Regards, LVT.


asail   (2009-01-12 18:06:00) [9]


> Riply ©   (12.01.09 16:07) [32]

> Германн ©   (12.01.09 17:29) [34]

> clickmaker ©   (12.01.09 15:38) [29]

Все так! Тока я чего-то сомневаюсь, что здесь речь о чем-то типа Microsoft Visual Studio идет... :)
А, вообще, извратиться всегда можно. Было бы желание! Например, прога-загрузчик запускается с флэшки, копирует исполняемый файл с нее-же куда-либо, там запускает и отмирает... Флэшку можно смело отрубать... Прога работает! Нафига? Это уже не мне вопрос.


clickmaker   (2009-01-12 17:54:00) [10]

> которому прога обращается через определенные промежутки
> времени, т.е. если его нет - то проге делать нечего

тогда вообще непонятно, в чем проблема... сам же себе и ответил в [18]


Германн   (2009-01-12 17:29:00) [11]


> Не уверена, что exe-файл, всегда загружается в память целиком.

В Windows же загрузчик читает лишь заголовок и таблицу импорта файла, а затем проецирует его на адресное пространство процесса так, будто бы файл является частью виртуальной памяти, хранящейся на диске. (Вообще-то, все происходит намного сложнее, но не будем вдаваться в подробности, не относящиеся к делу). Подкачка с диска происходит динамически - по мере обращения к соответствующим страницам памяти, причем загружаются только те из них, которые действительно нужны.            
  Например, если в текстовом редакторе есть модуль работы с таблицами, он не будет загружен с диска до тех пор, пока пользователь не захочет создать (или отобразить) свою таблицу. Причем неважно - находится ли этот модуль в динамической библиотеке или в основном файле! (Вот и попробуйте после этого сказать, что Windows глупые люди писали!) Загрузка таких "монстров", как Microsoft Visual Studio и Word, как бы "размазывается" во времени и к работе с приложением можно приступать практически сразу же после его запуска

(c) Крис Касперски


Ega23   (2009-01-12 16:27:00) [12]


> Не уверена, что exe-файл, всегда загружается в память целиком.


Розыч нужОн. Саня, ау!!!


Riply   (2009-01-12 16:07:00) [13]

> [27] asail   (12.01.09 15:21)
> А что мешает проге работать если флэшка, с которой она запущена вынута?
> Например, возьми calc.exe (тот что в windows\system32) скопируй на флэшку,
> запусти с нее, вынь флэшку. Работает как миленький...
> Нафига прогу закрывать, если диск вынут?

Не уверена, что exe-файл, всегда загружается в память целиком.
Если это так, то программе, в процессе работы, может потребоваться обращение к нему.


Ega23   (2009-01-12 15:58:00) [14]


> дело в том, что для работы проги нужен некий файл который
> лежит на этом же, пардон, "родительском диске", и к которому
> прога обращается через определенные промежутки времени,
> т.е. если его нет - то проге делать нечего - она должна
> закрыться...


try
 Открыть_Некий_Файл_Для_Работы;
except
 Завершить_Работу;
end;


happynewyear   (2009-01-12 15:40:00) [15]

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

вот для этого и мониторится сие действие.

приложение, что называется "Portable", и рассчитано для использования по большей части с флешки.

тот файл блокируется от удаления, хотя извратится можно, и удалить не смотря на блокировку, но проще вытащить флешку

p.s. плюсы и минусы и другие недочеты еще изучаются, окончательно еще все не обдумано.


clickmaker   (2009-01-12 15:38:00) [16]

> Работает как миленький

там ресурсов мало. он все их в память подгрузил и работает
а если ресурсов много, можно их по мере надобности с диска подгружать


antonn   (2009-01-12 15:33:00) [17]


> asail   (12.01.09 15:21) [27]

наверное по той же причине, почему нельзя удалить запущенную программу :)


asail   (2009-01-12 15:21:00) [18]

А что мешает проге работать если флэшка, с которой она запущена вынута? Например, возьми calc.exe (тот что в windows\system32) скопируй на флэшку, запусти с нее, вынь флэшку. Работает как миленький...
Нафига прогу закрывать, если диск вынут?


happynewyear   (2009-01-12 14:46:00) [19]


> Когда много - это многоточие.


тут тонко подмечено :)


Anatoly Podgoretsky   (2009-01-12 14:38:00) [20]


> p.s.3 ну а троеточие - это троеточие :), может их много,
>  но никто не идеален :)))

Когда много - это многоточие.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо