![]() |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Hallo.
Ich helf dir gerne, nur kann ich die Zeile nicht finden. Bzw sieht sie bei mir anders aus. So sieht meine WebUpdateThread.pas aus:
Delphi-Quellcode:
unit WebUpdateThread;
interface uses classes, IdComponent, IdHTTP; type TOnWorkEvent = procedure(Sender: TThread; AWorkCount: Integer) of object; TDownloadThread = Class (TThread) private fIdHTTP: TIdHTTP; fName: string; // Name einer herunterzuladenden Datei fPfad: string; // wohin soll die Datei auf Platte gespeichert werden fURL: string; // URL der Datei fWorkCount: integer; fOnWorkEvent: TOnWorkEvent; procedure InternalOnWork (Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer); procedure DoNotifyWork; protected procedure execute; override; public property name: string read fName write fName; property Pfad: string read fPfad write fPfad; property URL: string read fURL write fURL; property OnWork: TOnWorkEvent read FOnWorkEvent write FOnWorkEvent; end; implementation uses SysUtils; procedure TDownloadThread.Execute; var fs: TFileStream; begin fIdHTTP := TIdHTTP.Create(nil); fIdHTTP.OnWork := InternalOnWork; fs := TFileStream.Create (fPfad + fName, fmCreate or fmShareExclusive); try fIdHTTP.Get(fURL + fName, fs); finally fs.Free; fIdHTTP.Free; end; end; procedure TDownloadThread.InternalOnWork(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer); begin FWorkCount := AWorkCount; Synchronize(DoNotifyWork); end; procedure TDownloadThread.DoNotifyWork; begin if Assigned(OnWork) then OnWork (Self, FWorkCount); end; end. |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Huhu Pif,
aaah, ich hatte im Beitrag davor, noch 'ne geänderte Version gepostet, aber die vergiß mal. ;-) okay: Die Zeile heißt
Delphi-Quellcode:
das
procedure InternalOnWork (Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer);
Delphi-Quellcode:
vor dem aWorkCount muß raus, und unten auch nochmal.
const
Jetzt sollte es gehen ... Hoffnungsvolle Grüße Marco |
Re: TWebUpdate - eine neue WebUpdate-Komponente
JAWOLLLLL
Es geht =) n1 Arbeit. Besten Dank! MfG Pif |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Huhu,
Zitat:
Jetzt muß ich's nur noch verallgemeinern. Viel Spaß beim testen, morgen oder übermorgen sollte es 'ne Version geben, die das schon drin hat. Viele Grüße Marco |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Wie siehtsn mit der neuen Version aus?
|
Re: TWebUpdate - eine neue WebUpdate-Komponente
Hallo zusammen,
... und hier ist V1.01.1. Neuerungen: Das Ereignis OnFehler tritt auf, wenn z.B. keine Verbindung zum Internet hergestellt werden kann, oder ein anderer Fehler auftritt. Ebenso wurden die notwendigen Compiler-Schalter in die WebUpdate.inc ausgelagert. Ein zweiter Schalter Indey10 ist dazu gekommen. Der Muß gesetzt werden, wenn Indy10 eingesetzt wird. Tut mir leid, daß das jeder von Hand machen muß, aber ich hab absolut nicht rausfinden können, wie man's Programmseitig ermitteln kann. Viel Spaß beim Testen und einen schönen Abend Marco |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Hi Marco,
Zitat:
Delphi-Quellcode:
Wird in IdGlobal.pas per IdCompilerDefines.inc gesetzt. Also einfach IdGlobal einbinden und per IFDEF prüfen.
{$IFDEF INDY100}
Gruß Assertor |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Also ich muss sagen, deine Komponente gefällt mir richtig gut :)
Ich habe sie direkt mal in mein aktuelles Projekt eingebaut. Allerdings vermisse ich sehr einen funktionierenden Fortschritt. Dass das Progress nicht funktioniert wurde ja schon angesprochen. Außerdem wäre eine Anzeige der Dateigrößen schön :) gruß |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Ein weiteres nettes Feature wäre die Anzeige aller zu downloadeden Dateien und ein Event sobald eine Datei fertig ist. Als Parameter dann den Namen der Datei. Das ganze könnte man dann schön in ein Log einbauen.
|
Re: TWebUpdate - eine neue WebUpdate-Komponente
Ah, ich sehe schon, das mit der Dateiliste gibt es wohl schon, tut mir leid.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:32 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