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

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

Получить картинку (файл) с сервера...


Vulko ©   (2005-06-14 17:32:00) 

Пишу вот такой код:

var
 Form1: TForm1;
 stream: TStream;
 img: TJPEGImage;

...

tidhttp.Get(' http://www.3dnews.ru/documents/news5/20050606_pentax.jpg', stream);
img.Create;
img.LoadFromStream(stream);
img.SaveToFile('c:\q.jpg');


На шаге img.Create выдаёт ошибку Access Violation.
Убираю конструктор - выдаёт ошибку на LoadFromStream.

Как вообще это делается (получение jpeg'а с сервера)?


GEEK   (2005-06-16 16:36:00) [1]

Пжалуйста


Vulko   (2005-06-16 15:29:00) [2]

GEEK, спс огромное.


Vulko   (2005-06-16 14:55:00) [3]

Digitman, что за секреты. Объясни нормально.


GEEK   (2005-06-16 14:47:00) [4]

Digitman! Не доставай человека!
2Vulko все нормуль, просто надо закрыть поток... Попробуй открыть пейнтом и увидешь в чем прикол. Добавь в конце строку stream.free; вощем


Digitman   (2005-06-16 14:42:00) [5]


> файл то создаётся


> он пустой. Т.е. ничего не отображается


и опять - секрет, только теперь уже секретен размер файла


Vulko   (2005-06-16 14:32:00) [6]

GEEK, спасибо. Понял в чём загвоздка была...

Теперь проблема другая - файл то создаётся и всё работает без ошибок. Размер тот что надо. Только вот проблема - открываю жипег в acdsee, а он пустой. Т.е. ничего не отображается...


Digitman   (2005-06-16 13:50:00) [7]


> Теперь выдаёт ошибку на последнее строке файла проекта


но теперь ошибка - секретная ... не то что Access Violation ...


GEEK   (2005-06-16 01:26:00) [8]

GEEK спешит на помощь!
Вот рабочий код сохраняет картинку на диск.
var stream: TFileStream;
begin
stream:=TFileStream.Create('imga.gif',fmCreate);
idhttp1.Get(' http://www.3dnews.ru/documents/news5/20050606_pentax.jpg', stream);

З.Ы. Почитай хелп по Stream


Vulko   (2005-06-15 18:44:00) [9]

Помогите. Очень надо. В поисковиках ничего толкового не нашёл... На запросы выдаётся только всякий мусор...


Vulko   (2005-06-14 19:46:00) [10]

Может что-то с request.content type? Или ещё с каким свойством tidhttp...


Vulko   (2005-06-14 19:42:00) [11]

Ошибка происходит именно при попытке LoadFromStream. Я закоментировал, и всё нормально работает.


Eraser   (2005-06-14 18:01:00) [12]

Vulko ©   (14.06.05 17:58) [2]

Тут отлаживать надо.


Vulko   (2005-06-14 17:58:00) [13]

Теперь выдаёт ошибку на последнее строке файла проекта:

program NewsGrabber;

uses
 Forms,
 main in 'main.pas' {Form1};

{$R *.res}

begin
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.Run;
end. // вот тут


Digitman   (2005-06-14 17:55:00) [14]


> На шаге img.Create выдаёт ошибку Access Violation


img := TJPEGImage.Create;
img.LoadFromStream(stream);
img.SaveToFile('c:\q.jpg');


Наверх

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