Показать сообщение отдельно
  #1  
Старый 22.01.2011, 16:36
bulldog bulldog вне форума
Начинающий
 
Регистрация: 10.05.2010
Сообщения: 160
Репутация: 14
По умолчанию многопоточность и Timage

есть image к которому идёт обращение из потока для загрузки в него картинки, но если распараллелить процесс то в image постояно грузится новая не ожидаясь не какой реакции
Код:
 begin
      count:=0;
        FH.get('http://' + FUrl+'/',ss);
        end;
/ begin
      FH.get('http://' + FUrl+'/login.php?r=',S);
        end;
        begin
        If Pos('src="image.php?"', S.datastring) > 0 then
          try
      new := TStringList.Create;
      png := TPNGObject.Create;
      img.Position:=0;
        png.LoadFromStream(img);
          Form2.Image1.Picture.Assign(png);
Synchronize(ShowModalForm);
          code:=Form2.edit1.text;
          if code <> '' then
             finally
       png.Free;
      img:=nil;
         inf.Free;
          end;
         end;

procedure BUX.ShowModalForm;
begin
Form2.ShowModal;
end;


unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ExtCtrls;

type
  TFOR2 = class(TForm)
    Image1: TImage;
    Edit1: TEdit;
    Button2: TButton;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FOR2: TFOR2;

implementation

{$R *.dfm}

procedure TFOR2.Button1Click(Sender: TObject);
begin
  ModalResult := mrOk;
end;

end.

можно ли поток заставить ждать пока предыдущая картинка не станет nil
Ответить с цитированием