Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Onlineaktualisierung (https://www.delphipraxis.net/129919-onlineaktualisierung.html)

AlexanderBrade 27. Feb 2009 21:44


Onlineaktualisierung
 
Hallo, ich folgende Frage, muss alerdings zugeben, dass ich auf diesem Gebiet neu bin:
Ist es relativ einfach möglich eine Internetaktualiserungsfuntion in mein Programm zu integreiren?
Sie sollte also auf den Server zugreifen, die dortige Programmvewrsion abfragen und wenn diese neuer ist, die neue herunterladen, oder zumindest den browser öffen?

Ich würde mich über ein paar infos freuen.

mkinzler 27. Feb 2009 21:49

Re: Onlineaktualisierung
 
Was für ein Server (HTTP, FTP, ...)?

AlexanderBrade 27. Feb 2009 21:50

Re: Onlineaktualisierung
 
ein ftp-server

jaenicke 27. Feb 2009 21:54

Re: Onlineaktualisierung
 
Mit TIdHttp.Get die entsprechende Adresse mit den Versionsinformationen aufrufen, dann vergleichen und ggf. entweder selbst downloaden oder mit ShellExecute die entsprechende Adresse aufrufen.
Ich sehe gerade FTP-Server? Der wird doch aber eine HTTP-Adresse haben, oder?

Wichtig dabei: Wenn du es selbst herunterlädst, dann musst du darauf achten, dass du zum Ersetzen der Programmdatei Administratorrechte brauchen wirst.

Für den Vergleich der Versionsnummer könntest du das nehmen:
http://www.delphi-forum.de/viewtopic...=547664#547664

mkinzler 27. Feb 2009 22:07

Re: Onlineaktualisierung
 
Bei Ftp eher TIdFTP

AlexanderBrade 27. Feb 2009 22:10

Re: Onlineaktualisierung
 
Und wie funktioniert sowas? Die Delphi Hilfe gibt auch nichts her!

mkinzler 27. Feb 2009 22:11

Re: Onlineaktualisierung
 
http://www.delphi-treff.de/tutorials...internet/indy/

Meflin 27. Feb 2009 22:17

Re: Onlineaktualisierung
 
Hm. Also wenn du das tatsächlich über FTP machen willst, dann ist der einzig sichere Weg, den anonymen Login mit readonly-Rechten zu erlauben (und zwar einzig und allein auf das Verzeichnis in dem sich die Updates befinden). Das ist dir klar oder?

AlexanderBrade 27. Feb 2009 22:21

Re: Onlineaktualisierung
 
Aber einfach ist das nicht wirklich oder?

jaenicke 27. Feb 2009 22:23

Re: Onlineaktualisierung
 
Rein die Prüfung und das Anzeigen der Seite im Standardbrowser sind nur wenige Zeilen...

AlexanderBrade 27. Feb 2009 22:26

Re: Onlineaktualisierung
 
Ich meine die Herstellung der Verbindung zum Server...
Aber wie kann ich die Versionen überprüfen ohne Kontakt zum Sever herzustellen?

Ich weiß ich stell mich bei solchen Dingen immer etwas doof an, aber es ist absolutes Neuland.

mkinzler 27. Feb 2009 22:33

Re: Onlineaktualisierung
 
Ohne Kontakt nicht, du könntest diese aber in einer Ini, XML-Datei oder ähnlich ablegen, welche du dann herunterlädst und parst

AlexanderBrade 27. Feb 2009 22:42

Re: Onlineaktualisierung
 
wie muss eine solche prozedur aussehen, um eine z.B. ini-datei herunterzuladen?

Meflin 27. Feb 2009 22:47

Re: Onlineaktualisierung
 
Zitat:

Zitat von AlexanderBrade
wie muss eine solche prozedur aussehen, um eine z.B. ini-datei herunterzuladen?

IdHTTP.Get('URL zu deiner Datei')

jaenicke 27. Feb 2009 22:50

Re: Onlineaktualisierung
 
Genauer:
Delphi-Quellcode:
uses
  IdHttp;

var
  xy: TIdHttp;
begin
  xy := TIdHttp.Create;
  try
    ShowMessage(xy.Get('http://...');
  finally
    xy.Free;
  end;

AlexanderBrade 27. Feb 2009 23:01

Re: Onlineaktualisierung
 
im fehlt dabei aber immer die IDHTTP.dcu, sodass er nicht compiliert!

Meflin 27. Feb 2009 23:02

Re: Onlineaktualisierung
 
Zitat:

Zitat von AlexanderBrade
im fehlt dabei aber immer die IDHTTP.dcu, sodass er nicht compiliert!

Du hast Delphi 2005? Dort sollten die Indy-Komponenten dabei sein! Gibt es sie denn in deiner Komponentenpalette?

AlexanderBrade 27. Feb 2009 23:05

Re: Onlineaktualisierung
 
Also von Indy lese ich da nichts, vlt. übersehe ich sie nur, ahbe allerdings nichts zusätzlich installiert!

Meflin 27. Feb 2009 23:09

Re: Onlineaktualisierung
 
Zitat:

Zitat von AlexanderBrade
Also von Indy lese ich da nichts, vlt. übersehe ich sie nur, ahbe allerdings nichts zusätzlich installiert!

Seltsam. Hier kannst du sie runterladen:
http://www.indyproject.org/Sockets/w...Wizard.DE.aspx

AlexanderBrade 27. Feb 2009 23:12

Re: Onlineaktualisierung
 
Welche Version sollte ich da denn nehmen?
10 funktioniert nicht.
Und bei den andren gibts nur Verzecihnisse mit hunderten .pas dateien!

jaenicke 27. Feb 2009 23:13

Re: Onlineaktualisierung
 
Bei dem neueren ebenfalls kostenlosen Turbo Delphi sind die Indys dabei. Bei den älteren Personals waren weder die noch Datenbankkomponenten oder Komfortfunktionen dabei.

In der Delphi 2005 PE musst du die manuell nachinstallieren. Die 10er Version wäre am sinnvollsten.

Ich würde dir aber eigentlich schon zu Turbo Delphi raten, das ist schon sehr viel besser und schneller als die verbuggte und langsame D2005 PE. Und Indy ist eben auch dabei.
http://www.delphi-library.de/viewtopic.php?p=539975
Du kannst nur keine Fremdkomponenten in die IDE nachinstallieren, müsstest sie also wie oben gezeigt manuell erzeugen. Das gilt auch für die Indys, aber dabei und eingerichtet sind diese.

Meflin 27. Feb 2009 23:13

Re: Onlineaktualisierung
 
Zitat:

Zitat von AlexanderBrade
Welche Version sollte ich da denn nehmen?
10 funktioniert nicht.
Und bei den andren gibts nur Verzecihnisse mit hunderten .pas dateien!

Was genau funktioniert an dem Link nicht?
http://www.indyproject.org/downloads....52_source.zip

Und das SIND hunderte pas-Dateien. Ist halt eine mächtige Library...

AlexanderBrade 27. Feb 2009 23:16

Re: Onlineaktualisierung
 
Nein der Installer für 10 existiert nicht mehr!

Und wie kreige ich diese Library nun installiert?

Meflin 27. Feb 2009 23:18

Re: Onlineaktualisierung
 
Zitat:

Zitat von AlexanderBrade
Und wie kreige ich diese Library nun installiert?

Steht doch alles auf der Webseite :roll:
http://www.indyproject.org/Sockets/D...lation.EN.aspx

AlexanderBrade 27. Feb 2009 23:25

Re: Onlineaktualisierung
 
Zitat:

Delphi / BCB Installation

2) Open and compile .dpk files in the following order:

1. IndySystemX0.dpk (in Lib\System)
2. IndyCoreX0.dpk (in Lib\Core)
3. IndyProtocolsX0.dpk (in Lib\Protocols)

3) Now open these .dpk files and click install in the following order:

1. dclIndyCoreX0.dpk (in Lib\Core)
2. dclIndyProtocolsX0.dpk (in Lib\Protocols)
Open and comile: was soll das hierbei bedeuten, ein doppelblick bewirkt ja nichts!

Meflin 27. Feb 2009 23:29

Re: Onlineaktualisierung
 
Zitat:

Zitat von AlexanderBrade
Open and comile: was soll das hierbei bedeuten, ein doppelblick bewirkt ja nichts!

Natürlich. Rechts im Projektbrowser erscheint die dpk -> Rechtsklick -> Compile

jaenicke 27. Feb 2009 23:29

Re: Onlineaktualisierung
 
Wenn du gar nicht weißt wie du zusätzliche Komponenten installierst, dann ist das eben von mir genannte Turbo Delphi 100%ig die bessere Wahl, dann kannst du dir die Installation von Indy wie gesagt sparen...

AlexanderBrade 27. Feb 2009 23:33

Re: Onlineaktualisierung
 
Naja es dauert nicht lange bis beim Installieren die ersten Fehlermeldungen auftauchen!

Meflin 27. Feb 2009 23:36

Re: Onlineaktualisierung
 
Zitat:

Zitat von AlexanderBrade
Naja es dauert nicht lange bis beim Installieren die ersten Fehlermeldungen auftauchen!

Du musst das auch garnet installieren. Einfach irgendwo hinkopieren und den Pfad zu den pas-Dateien zum Suchpfad des Projekts hinzufügen und es tut auch. Klingt dann im übrigen danach als ob du die falschen Packages installierst.

AlexanderBrade 27. Feb 2009 23:40

Re: Onlineaktualisierung
 
das habe ich jetzt glaube ich ich nicht ganz verstanden! Könntest du das bitte nochmal kurz erläutern.

jaenicke 27. Feb 2009 23:52

Re: Onlineaktualisierung
 
Erläutere du doch lieber welche Fehlermeldungen denn auftauchen...

Micha88 28. Feb 2009 07:41

Re: Onlineaktualisierung
 
Zitat:

Zitat von AlexanderBrade
ein ftp-server

Also ich persönlich hasse Login-bezogene Software.

Serverwechsel, evtl. Probleme.

Klar, kann man die Daten auf dem Server anpassen, aber HTTP wäre besser.

Programmversion abfragen:
Version in Textdatei auf Server speichern, per IdHTTP1.Get drauf zugreifen, mit gerade verwendeter Programmversion vergleichen.

Larsi 28. Feb 2009 09:14

Re: Onlineaktualisierung
 
http://www.delphipraxis.net/internal...591&highlight=

Meflin 28. Feb 2009 11:49

Re: Onlineaktualisierung
 
Zitat:

Zitat von AlexanderBrade
das habe ich jetzt glaube ich ich nicht ganz verstanden! Könntest du das bitte nochmal kurz erläutern.

Nix für Ungut. Wenn du es nicht gebacken kriegst, eine externe Unit in dein Programm einzubinden, dann ist ein Online-Update vielleicht doch noch etwas groß für den Anfang :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:30 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