Einzelnen Beitrag anzeigen

Benutzerbild von Sko
Sko

Registriert seit: 11. Sep 2005
327 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Probleme mit Frames und deren Aktualisierung in Formular

  Alt 11. Jun 2006, 19:07
Also, so sieht mein Code für die Erstellung des Frames aus:

Delphi-Quellcode:
...
  inc(FrameID);
  DateiFrame := TFDatei.Create(PDateien);
  DateiFrame.Parent := PDateien;
  DateiFrame.LName.Caption := FileName;
  if DateiGroesse < 1048576 then DateiFrame.LGroesse.Caption := RealToStr(DateiGroesse/1024) + ' KB';
  if DateiGroesse > 1048576 then DateiFrame.LGroesse.Caption := RealToStr(DateiGroesse/1024/1024) + ' MB';
  if DateiGroesse > 1073741824 then DateiFrame.LGroesse.Caption := RealToStr(DateiGroesse/1024/1024/1024) + ' GB';
  DateiFrame.Name := 'Frame' + IntToStr(FrameID);
  FrameNr := FrameID;
  if FListe.Count <> 0 then DateiFrame.Top := (FListe.Count) * 65;
  FListe.Add(DateiFrame);
  DateiFrame.Show;
  PDateien.Repaint;
  DateiFrame.FStream := TFileStream.Create(target, fmCreate);
  DateiFrame.TDatei.Enabled := true; //TDatei ist der Timer der für die Progressbar zuständig ist
  Application.ProcessMessages;
  try
    IDS := TidStreamVCL.Create(DateiFrame.FStream);
    try
      with AContext.connection do
      begin
        try
          SizeOfIncomingStream := Socket.ReadInteger;
          Socket.ReadStream(IDS, SizeOfIncomingStream);
        finally
          Disconnect;
        end;
      end;
      IDS.VCLStream.Position := 0;
    finally
      FreeAndNil(IDS);
    end;
  finally
    for i := 0 to FListe.Count - 1 do
    begin
      DateiFrame := FListe[i];
      if DateiFrame.Name = 'Frame' + IntToStr(FrameNr) then
      begin
        FreeAndNil(DateiFrame.FStream);
        DateiFrame.TDatei.Enabled := false;
        DateiFrame.Free;
        Fliste.Delete(i);
      end;
    end;
    ...
So funktioniert es aber nicht.

Wenn ich aber statt
Delphi-Quellcode:
DateiFrame := TFDatei.Create(PDateien);
  DateiFrame.Parent := PDateien;
DateiFrame := TFDatei1; schreibe und den Frame schon zur Designzeit aufs Formular ziehe, dann gehts.
Die Datei wird auch ordnungsgemäß gespeichert und alles, nur bei der Progressbar tut sich nix.
Wo liegt denn hier der Fehler? Ich hoffe ihr könnt mir helfen, langsam weis ich nicht mehr weiter.
MfG Sko
Zitat von Phoenix:
[OT]Phoenix guckt in die Glaskugel, zuckt mit den Flügelspitzen, krächzt etwas von wegen 'Boden' und 'Scherben' und schubbst die Kugel in Richtung Tischkante.[/OT]
Rockbox
  Mit Zitat antworten Zitat