AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi HTML Datei im Hintergrund runterladen
Thema durchsuchen
Ansicht
Themen-Optionen

HTML Datei im Hintergrund runterladen

Ein Thema von Magier · begonnen am 3. Sep 2008 · letzter Beitrag vom 4. Sep 2008
Antwort Antwort
Magier

Registriert seit: 2. Okt 2004
Ort: Bergisch Gladbach
39 Beiträge
 
Delphi 7 Personal
 
#1

HTML Datei im Hintergrund runterladen

  Alt 3. Sep 2008, 21:16
Hey ho,

ich habe folgendes Problem:

Ich versuche in mein Programm eine Funktion einzubauen die übers Inet checkt ob das die aktuelle Version ist.
Das mache ich indem ich mit diesem Script: eine datei von meinem Server runterlade wo die Versionsnr drin ist und dann wird verglichen.

Das Problem ist nur das wenn ich die Datei runterlade hängt das Programm, vor allem wenn der nicht im Internet ist, ist das sehr ärgerlich, denn dann hängt das Programm gut 15 sekunden.

Hat jemand ne Idee wie man das im Hintergrund laufen lassen kann?

MFG
Nick
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: HTML Datei im Hintergrund runterladen

  Alt 3. Sep 2008, 21:18
In einem separaten Thread
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#3

Re: HTML Datei im Hintergrund runterladen

  Alt 3. Sep 2008, 21:28
Oder du machst es gleich "richtig" und baust einen Web-Updater ein. Der müsste dann sinnvollerweise sowieso in einem eigenen Prozess laufen, damit er die Anwendung updaten kann - da würde sich dann auch nichts aufhängen
  Mit Zitat antworten Zitat
Magier

Registriert seit: 2. Okt 2004
Ort: Bergisch Gladbach
39 Beiträge
 
Delphi 7 Personal
 
#4

Re: HTML Datei im Hintergrund runterladen

  Alt 4. Sep 2008, 00:02
danke für die schnellen Antworten.

Sowas wie ein eigenen Thread zu machen habe ich mir auch gedacht, nur wusste ich nicht wie das heißt (geschweige denn funktioniert).

Ich hab das ganze aber mit einem Tutorial auf die reihe bkommen und es funktioniert. Aber ich habe noch ein wenig das gefühl dass es ziemlich unschön gemacht wurde.

das hier ist die Procedure in dem anderen Thread wo die Datei aus dem Inet abgerufen wird. Allerdings werden da dann auch in der Form1 die Komponenten angesprochen und je nach Version eingefärbt und beschriftet. Weil in der Procedure in der Unit1 diese Sachen aus dem thread auszuwerten geht ja nicht, da das ja heißen würde dass das Programm wieder hängt. Wäre es eine Idee in der Unit 1 eine Procedure zu machen dass das Ergebnis aus dem Thread verarbeitet? ich hoffe ihr versteht mich.

ach und ist das mit self.free am ende eine schöne sache? weil irgendwie muss ich den thread ja wieder freigeben aber ich wusste keine bessere stelle.
Delphi-Quellcode:
procedure TUpdateThread.Execute;
var
  get_version: string;
begin
  //auf Updates checken
  try
    get_version :=
      GetHTML(adresse);
  except
  end;
  if get_version = 'nichterreichbarthen
  begin
    form1.panel2.Color := clBtnFace;
    form1.panel2.Caption := 'Der Server ist nicht erreichbar';
    form1.panel2.Cursor := crdefault;
  end
  else if get_version = version then
  begin
    form1.panel2.Color := $002CF321;
    form1.panel2.Caption := 'EasyLanguage ist auf dem neusten Stand';
    form1.panel2.Cursor := crdefault;
  end
  else
  begin
    form1.panel2.Color := $005B5BEA;
    form1.panel2.Caption := 'Aktuelle Version: ' + get_version;
    form1.panel2.Cursor := crhandpoint;
    if MessageDlg('Es ist eine neue Version von EasyLanguage verfügbar.'+#10#13+'Möchten Sie jetzt die Internet Seite aufrufen um die neue Version herunterzuladen?', mtConfirmation,
      [mbYes, mbNo], 0) = idYes then
            ShellExecute(Application.Handle, 'open',
      PChar('http://www.manzanaloca.de/easylanguage/'),
      nil,
      nil, sw_ShowNormal);
  end;
  self.Free;
end;
viele grüße
magier
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz