AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte TMSWebUpdate - eine neue WebUpdate-Komponente

TMSWebUpdate - eine neue WebUpdate-Komponente

Ein Thema von Marco Steinebach · begonnen am 27. Feb 2008 · letzter Beitrag vom 11. Aug 2013
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.745 Beiträge
 
Delphi 12 Athens
 
#1

AW: TMSWebUpdate - eine neue WebUpdate-Komponente

  Alt 11. Mai 2011, 12:27
StrPas macht aus einem PAnsiChar einen AnsiString
und seit Delphi 2009 wird auch noch aus einem PWideChar ein UnicodeString gemacht.

Als es die Unicodeversion noch nicht gab, konnte man auch einen untypisierten Zeiger (Pointer) verwenden, welcher dann als PAnsiChar angesehn wurde,
da es nur eine Variante von StrPas, mit einem Zeigertypen gab (die mit PAnsiChar/PChar).
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
thestallion90

Registriert seit: 10. Aug 2008
22 Beiträge
 
Delphi XE Starter
 
#2

AW: TMSWebUpdate - eine neue WebUpdate-Komponente

  Alt 12. Mai 2011, 17:17
mal noch ne andere Sache:

Ich hab die Update Komponente jetzt eingebunden und in dem Projekt ne neue Form angelegt. Heute morgen war meine exe noch schlanke 2,x MB groß, jetzt sind es fast 10 MB
Dadurch dauert natürlich jedes Update 1000 mal länger *übertreib*

Mal ehrlich, die units und die Komponente wiegen fast gar nichts, das sind ein paar kB. Auf der Form ist auch nix drauf außer n Memo und ne ProgressBar. Wo kommen denn von jetzt auf gleich die MBs her? Hab auch in den Projekt-Optionen nichts verändert von wegen Debug-Infos und so (die Suche stieß mich immer wieder auf dicke Debug-Infos in der EXE). Kommt das daher, dass in dem Programm jetzt die Indy-komponente integriert ist? Die hatte ich vor dem MSWebUpdate ja noch nicht? Was kann man da machen?
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

AW: TMSWebUpdate - eine neue WebUpdate-Komponente

  Alt 12. Mai 2011, 17:26
Kommt das daher, dass in dem Programm jetzt die Indy-komponente integriert ist?
Ja, Indy vergrössert dein Programm relativ stark.
Hätte man auf das gehört, was ich auf Seite 6 im Beitrag #54 geschrieben habe, dann wäre es jetzt kein Problem Indy durch etwas Schlankeres zu ersetzen.
Andreas
  Mit Zitat antworten Zitat
thestallion90

Registriert seit: 10. Aug 2008
22 Beiträge
 
Delphi XE Starter
 
#4

AW: TMSWebUpdate - eine neue WebUpdate-Komponente

  Alt 12. Mai 2011, 17:46
Ja, Indy vergrössert dein Programm relativ stark.
Hätte man auf das gehört, was ich auf Seite 6 im Beitrag #54 geschrieben habe, dann wäre es jetzt kein Problem Indy durch etwas Schlankeres zu ersetzen.
hngrrr, schadee naja, dann muss ich halt in den saueren Apfel beißen...
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#5

AW: TMSWebUpdate - eine neue WebUpdate-Komponente

  Alt 12. Mai 2011, 19:48
Ich hab euch mal meinen Vortrag von den letzten Delphi-Tagen angehängt.
  • nutzt keine Komponenten von dritten
  • nutzt keine Indys
  • nutzt OS integrierte Funktionen wie msxml / bits

Wenn ihr nochmal nach lesen wollt, im Entwickler Mag. 04/10 ist der passende Artikel.
Angehängte Dateien
Dateityp: 7z OnlineUpdates - delphitage 2010.7z (391,6 KB, 69x aufgerufen)
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

AW: TMSWebUpdate - eine neue WebUpdate-Komponente

  Alt 13. Mai 2011, 12:48
@gneric: nicht uninteressant aber leider fehlt noch etwas in Richtung OOP.
Hier ein Ausschnitt aus dem Code:
Delphi-Quellcode:
type
  TDownloadActionLoadUrl = class
  public
    class procedure Download(ziel, downloadurl: string; DownloadFeedback:TDownloadProgressEvent);
  end;
....
  TDownloadBits = class
  public
    class procedure DownloadForground(ziel, downloadurl: WideString; DownloadFeedback:TDownloadProgressEvent);
    class procedure DownloadBackground(ziel, downloadurl, ExeName, Params: WideString);
    class procedure CompleteJob(JobId: WideString);
  end;
Hier müsste es natürlich eine gemeinsame Basisklasse mit einer virtuellen, abstrakten Methode geben. DownloadFeedback müsste ein Event sein (anstelle eines Parameters).
Andreas
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#7

AW: TMSWebUpdate - eine neue WebUpdate-Komponente

  Alt 13. Mai 2011, 14:48
Wie bei allen Vorträge und Artikeln gilt:
Es handelt sich hier um Beispiele wie etwas gelöst werden kann.
Das die Quellen nicht der Weisheit letzter Schluss sind, sollte jedem klar sein. Der Quelltext ist nur für Demozwecke und muss natürlich für "production use" ausgearbeitet werden.

Ja, du hast Recht - wenn man den Downloader austauschen will, müssten gleiche Interfaces her.
Allerdings sollte dann auch die gleiche Downloadtechnik für das herunterladen der XML genutzt werden.
Das läuft in der Demo komplett über MSXML.

Vorteil von einer einheitlichen Lösung ist u.a. die Konfiguration von Web-Proxies. Idealerweise nimmt man die in Windows hinterlegten Einstellungen.
Ich denke ich würde den BITS mit eine, hohen Prioritätsdownload verwenden. Dieser müsste nicht extra in der Firewall freigeschaltet werden.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 07:11 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