![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как загрузить из блоба через TStream [D5, IB6.x]
Antonyan © (2006-05-19 19:11:00)Уважаемые мастера !
Вопрос в следующем. Использую Yaffil (клон Interbase). Моя программа строится следующим образом. Есть маленький модуль на машине клиента и именем и паролем. В базе на серваке в блобах хранятся разные модули - exe файлы. В зависимости от того, как предствился клиент, из блоба запускается тот или иной ехе файл. Сделано тупо, так как сначала этот файл сохраняется на машине клиента, а потом запускается. Как сделать так чтобы этот ехе грузился непосредственно в память машины клиента, не используя жесткий диск, через TStream. Никак что то не доеду.
Заранее благодарен
antonyan (2006-05-26 14:02:00) [1]Таким образом мы грузим исполняемый файл из блоба в контейнер использую процесс в памяти, а затем запускаем содержимое выполняться.
antonyan (2006-05-26 14:00:00) [2]Чтение из блоб-поля в OleContainer
var S: TStream;
begin
if not FIBDataset1BLOBFIELD.IsNull then
begin
S:=FIBDataset1.CreateBlobStream(FIBDataset1BLOBFIELD, bmRead);
try
OleContainer1.LoadFromStream(S);
OleContainer1.DoVerb(ovShow); //Запускает содержимое контейнера выполняться
finally
S.Free
end;
end;
end;
Johnmen (2006-05-26 09:01:00) [3]>Antonyan
Я тоже что-то не нашёл там, как "из блоба запускается тот или иной ехе файл" :)))
atruhin (2006-05-26 04:42:00) [4]
> надеюсь модераторы не обидятся за прямую ссылку ?
Ну и как это связанно с твоим вопросом? Ты спрашивал о запуске программы из памяти, причем здесь чтение блоба? Вообще где то были хакерские способы такого запуска, но на то они и хакерские.
Antonyan (2006-05-25 23:57:00) [5]надеюсь модераторы не обидятся за прямую ссылку ?
http://www.cracklab.ru/pro/faq.php?pg=478
Johnmen (2006-05-20 19:45:00) [6]
> Antonyan (20.05.06 15:29) [4]
>
> Вообще покапался и нашел решение делать это через OleContainer.
> Кому нибудь интересно как ?
Мне интересно.
Antonyan (2006-05-20 18:03:00) [7]Всем спасибо
atruhin (2006-05-20 15:34:00) [8]
> Кому нибудь интересно как ?
Нет. Вроде все и так знают :)
Antonyan (2006-05-20 15:29:00) [9]Вообще покапался и нашел решение делать это через OleContainer. Кому нибудь интересно как ?
Johnmen (2006-05-20 01:09:00) [10]Порассуждать можно. Только бесполезно и неконструктивно, т.е. толку ноль.
Antonyan (2006-05-19 21:18:00) [11]Сомневаюсь, что это невозможно. Предлагаю порассуждать. Может есть специализированные компоненты для особо тяжелых случаев ?
Johnmen (2006-05-19 20:33:00) [12]Решения не найдёшь...