AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Versionsnummer abfragen per Thread
Thema durchsuchen
Ansicht
Themen-Optionen

Versionsnummer abfragen per Thread

Ein Thema von SittingDuck · begonnen am 15. Jan 2006 · letzter Beitrag vom 19. Jan 2006
 
SittingDuck

Registriert seit: 11. Jan 2006
Ort: Leverkusen
159 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Versionsnummer abfragen per Thread

  Alt 18. Jan 2006, 13:26
OkeeDokee ... Danke für den Hinweis,
aber wer liest schon all das Kleingedruckte ...

Niemand war überraschter als ich, als der Thread
auf Anfieb lief. Wie auch immer ... jetzt sieht
die Update-Routine so aus:

Könnte man das so gelten lassen ?


Delphi-Quellcode:

interface

type
  TGetRemoteVersionThread = class(TThread)
  private
    procedure UpdateMenuCaption;
  protected
    procedure Execute; override;
  public
    Fv, Rv: string; //FileVersion, RemoteVersion
end;

type
  TForm1 = class(TForm)

 .
 .
 .

implementation

function LoadURL(URL: String): String;
var IOpen, IURL: HINTERNET; Read: Cardinal; Msg: array[0..4096] of Char;
begin Result := '';
IOpen := InternetOpen('GetIP', INTERNET_OPEN_TYPE_PRECONFIG, '', '', INTERNET_FLAG_NEED_FILE);
if IOpen <> nil then try
  IURL := InternetOpenUrl(IOpen, PAnsiChar(URL), nil, 0, INTERNET_FLAG_NO_UI or INTERNET_FLAG_PRAGMA_NOCACHE or INTERNET_FLAG_RELOAD, 0);
  if IURL <> nil then try
   repeat
    FillChar(Msg, SizeOf(Msg), 0);
    if InternetReadFile(IURL, @Msg[0], Pred(SizeOf(Msg)), Read) then Result := Result + Msg else Break;
   until Read = 0;
  finally InternetCloseHandle(IURL); end;
finally InternetCloseHandle(IOpen); end;
end;


procedure TForm1.FormCreate(Sender: TObject);
var Thread: TGetRemoteVersionThread;
begin

 Thread := TGetRemoteVersionThread.Create(True);
 Thread.FreeOnTerminate := True;
 Thread.Resume;

 .
 .
 .

end;


procedure TGetRemoteVersionThread.UpdateMenuCaption;
begin
 with Form1.Menu03 do
 if Rv = Fv then Caption := 'You allready haveelse
                 Caption := 'Update and install';
 Caption := Caption + ' the latest version V' + Rv;
end;


procedure TGetRemoteVersionThread.Execute;
begin
 try
  if InternetGetConnectedState(nil, 0) then begin
   Rv := LoadURL(BaseURL + 'Launcher.ver');
   Fv := GetFileVersion(ParamStr(0));
   Synchronize(UpdateMenuCaption);
  end;
 except end;
end;
Ciao ... SittingDuck
iPhone Backup und mehr: iTwin v3.9 Beta ... Alternative Startleiste: Launcher v3.8 !
  Mit Zitat antworten Zitat
 


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 20:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz