Einzelnen Beitrag anzeigen

Nisbo

Registriert seit: 10. Mär 2005
191 Beiträge
 
Delphi 5 Standard
 
#6

Re: Delphi 5 Standard + Indy 10 --> IdHTTP1.Get Problem

  Alt 26. Apr 2005, 16:58
"internal_loop" ist eine globale integervariabel

danke erstmal für die hilfe, nun bin ich schon nen schritt weiter
allerdings funktioniert das ganze jetzt nicht (keine fehlerausgabe)

habe schon ein ShowMessage('test!');// eingebaut und auch das wird nicht angezeigt

hier die Unit3 mit dem Thread:

Delphi-Quellcode:
unit Unit3;

interface

uses Classes,clipbrd,SysUtils,Dialogs;

type
  bildupdate = class(TThread)
  private
    { Private-Deklarationen }
  protected
    procedure Execute; override;
  end;

implementation

uses Unit1;

procedure bildupdate.Execute;
begin
  ShowMessage('test!');
  if internal_loop = 0 then
    begin
      DestFile := ExtractFilePath(ParamStr(0)) + 'temp.jpg';
      Form1.Image1.Picture := nil;

      stream := TFileStream.Create(DestFile, fmCreate);
      try
         Form1.IdHTTP1.Get(SourceFile, stream);
      except
         Form1.Timer2.Enabled := false;
         ShowMessage('Verbindungsfehler!');
      end;
      stream.Free;
      if Form1.Timer2.Enabled then Form1.Image1.Picture.LoadFromFile(PChar(DestFile));
    end
  else
   begin
    // Lokal --> nicht über Internet Synchronize-Methode
    Form1.AviCap.CopyToClipboard;
    Form1.Image1.picture := nil;
    Form1.Image1.Picture.Bitmap.Assign(Clipboard);
   end;
end;

end.
also Unit1 ist jetzt in den implementationen drinn und die Formularfelder wie Image1 spreche ich mit Form1.Image1 an (hoffe das ist so richtig)

die Prozedur in der Unit1 schaut jetzzt so aus:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var Thread: bildupdate;
begin
  if dieurl = 'then exit else SourceFile := dieurl;
  if dieurl = 'then exit;

  if Timer2.Enabled = false then Timer2.Enabled := True;

  ToolButton9.Enabled := true;
  ToolButton10.Enabled := true;

  // Thread-Bereich
  Thread := bildupdate.Create(true);
  Thread.FreeOnTerminate := True;
end;
die beiden vars:

var SourceFile, DestFile : string;
var stream: TFileStream;

mußte ich auch global definieren

Wo könnte jetzt der Fehler liegen ?
Also außer zwischen meinen Ohren
Jens
  Mit Zitat antworten Zitat