AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Download fortschritt als im/als Image
Thema durchsuchen
Ansicht
Themen-Optionen

Download fortschritt als im/als Image

Ein Thema von citybreaker · begonnen am 16. Apr 2004 · letzter Beitrag vom 17. Apr 2004
Antwort Antwort
Seite 2 von 3     12 3      
citybreaker
(Gast)

n/a Beiträge
 
#11

Re: Download fortschritt als im/als Image

  Alt 17. Apr 2004, 11:09
Zitat von himitsu:
Zitat von citybreaker:
Was für eine Callback procedure?
cDownloadStatusCallback - ist 'ne schöne Klasse, mit vielen CallBackProzeduren


Du könntest ja auch mal dein Projekt hochladen - eventuell testen wir dann mal selber und entdecken womöglich den/die Fehler.


[edit]
der Name der Formklasse schaint ja schon drin zu sein (MainFrm.) es muß natürlich auch der richtige eingetragen sein.
Öh ja, wird glaube ich oben verwendet.
Dateien sind im Anhang.
Angehängte Dateien
Dateityp: zip urldownloadtofile.zip (3,2 KB, 17x aufgerufen)
Dateityp: rar urldownloadtofile.rar (2,9 KB, 18x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Download fortschritt als im/als Image

  Alt 17. Apr 2004, 11:34
Also bei mir lässt es sich ohne Probleme kompilieren (D7) - nur so ein paar kleine, "unbedeutende" Warnungen wegen des LPCWSTR.

PS: nimm mal für einen Test eine Datei, die auf jeden Fall runtergeladen werden kann - dann geht auch der Code.

z.B.  URLDownloadToFIle(nil,'http://www.fnse.de/s.html','C:\index.html',0,CDownStatus);
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
citybreaker
(Gast)

n/a Beiträge
 
#13

Re: Download fortschritt als im/als Image

  Alt 17. Apr 2004, 12:45
Fein, mit Delphi7 klappt es bei mir auch. Ich möchte aber das ganze in Delphi3 haben,
weil ich von Delphi 7 nur ne Personal hab. Gibts da ne möglichkeit?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Download fortschritt als im/als Image

  Alt 17. Apr 2004, 13:05
D3 hab'sch nicht.
Ich könnte höchstens mal in D4 nachgucken (wenn ich mal Lust und Zeit dafür hab)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#15

Re: Download fortschritt als im/als Image

  Alt 17. Apr 2004, 13:35
D4 dürfte nicht viel nützen. Der große sprung liegt zwischen D3 und D4.

@citybreaker: Nenn uns doch endlich mal die fehlermeldungen und zeig uns die Codezeilen dazu, sonst kommen wir hier nie weiter.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
citybreaker
(Gast)

n/a Beiträge
 
#16

Re: Download fortschritt als im/als Image

  Alt 17. Apr 2004, 13:52
Die stehen doch oben. -.-'
Hier nochmal für die die keine lust haben nach oben zu scrollen.

Delphi-Quellcode:
type
  cDownloadStatusCallback = class(TObject,IUnknown,IBindStatusCallback)
  private
    function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
    function _AddRef: Integer; stdcall; function OnStartBinding(dwReserved: DWORD; pib: IBinding): HResult; stdcall;
    function GetPriority(out nPriority): HResult; stdcall;
    function OnLowResource(reserved: DWORD): HResult; stdcall;
    function OnProgress(ulProgress, ulProgressMax, ulStatusCode: ULONG; szStatusText: LPCWSTR): HResult; stdcall;
    function OnStopBinding(hresult: HResult; szError: LPCWSTR): HResult; stdcall;
    function GetBindInfo(out grfBINDF: DWORD; var bindinfo: TBindInfo): HResult; stdcall;
    function OnDataAvailable(grfBSCF: DWORD; dwSize: DWORD; formatetc: PFormatEtc; stgmed: PStgMedium): HResult; stdcall;
    function OnObjectAvailable(const iid: TGUID; punk: IUnknown): HResult; stdcall;
  end;
 


Source:

function cDownloadStatusCallback._AddRef: Integer;
begin
  Result := 0;
end;

function cDownloadStatusCallback._Release: Integer;
begin
  Result := 0;
end;

function cDownloadStatusCallback.QueryInterface(const IID: TGUID; out Obj): HResult;
begin
  if(GetInterface(IID,Obj)) then
  begin
    Result := 0
  end
  else
  begin
    Result := E_NOINTERFACE;
  end;
end;

function cDownloadStatusCallback.OnStartBinding(dwReserved: DWORD; pib: IBinding): HResult;
begin
  Result := S_OK;
end;

//
function cDownloadStatusCallback.GetPriority(out nPriority): HResult;
begin
  Result := S_OK;
end;

function cDownloadStatusCallback.OnLowResource(reserved: DWORD): HResult;
begin
  Result := S_OK;
end;

function cDownloadStatusCallback.OnStopBinding(hresult: HResult; szError: LPCWSTR): HResult; stdcall;
begin
  Result := S_OK;
end;

function cDownloadStatusCallback.GetBindInfo(out grfBINDF: DWORD; var bindinfo: TBindInfo): HResult; stdcall;
begin
  Result := S_OK;
end;

//
function cDownloadStatusCallback.OnDataAvailable(grfBSCF: DWORD; dwSize: DWORD; formatetc: PFormatEtc; stgmed: PStgMedium): HResult;
begin
  Result := S_OK;
end;

//
function cDownloadStatusCallback.OnObjectAvailable(const iid: TGUID; punk: IUnknown): HResult; stdcall;
begin
  Result := S_OK;
end;

function cDownloadStatusCallback.OnProgress(ulProgress, ulProgressMax, ulStatusCode: ULONG; szStatusText: LPCWSTR): HResult;
begin
  case ulStatusCode of
    BINDSTATUS_BEGINDOWNLOADDATA:
    begin
      MainFrm.ProgressBalken.Width := 0;
      MessageDlg('Der Download wurde gestartet.', MtInformation, [mbYes], 0);
      if (UserCancel) then
      begin
        Result := E_ABORT;
        exit;
    function _Release: Integer; stdcall;

      end;
    end;
    BINDSTATUS_DOWNLOADINGDATA:
    begin
      MainFrm.ProgressBalken.Width := MulDiv(ulProgress,100, 240 );
      MessageDlg('Datei wird runtergeladen.', MtInformation, [mbYes], 0);
      if (UserCancel) then
      begin
        Result := E_ABORT; exit;
      end;
    end;
    BINDSTATUS_ENDDOWNLOADDATA:
    begin
      MessageDlg('Download wurde beendet.', MtInformation, [mbYes], 0);
    end;
  end;
  Application.ProcessMessages;

  Result := S_OK;
end;
Zitat:
Deklaration von "GetPriority" unterscheidet sich von der Deklaration in interface 'IBindStatusCallBack'

Deklaration von "OnDataAvaiable" unterscheidet sich von der Deklaration in interface 'IBindStatusCallBack'

Deklaration von "OnObjectAvaiable" unterscheidet sich von der Deklaration in interface 'IBindStatusCallBack'
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#17

Re: Download fortschritt als im/als Image

  Alt 17. Apr 2004, 14:00
Die Funktionsdeklarationen unterscheiden sich von D3 zu D6 oder D7. Kuck mal in der entsprechenden Delphi Unit, wie sie deklariert sind und pass in deinem Code die Datentypen entsprechend an.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
citybreaker
(Gast)

n/a Beiträge
 
#18

Re: Download fortschritt als im/als Image

  Alt 17. Apr 2004, 14:02
Öh, wie heißt den die Unit?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Download fortschritt als im/als Image

  Alt 17. Apr 2004, 14:23
ich weiß nicht, ab welcher Version das geht, aber klick mal mit Rechts auf eine Variable/Funktion ... und dann wähl "Deklaration suchen" aus, dann such delphi wo das angeklicke deklariert ist, und zeigt es wenn möglich an und du kannst dort nachgucken, was verlangst wird.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
citybreaker
(Gast)

n/a Beiträge
 
#20

Re: Download fortschritt als im/als Image

  Alt 17. Apr 2004, 14:33
Kann es weder bei D3 noch D7 PE finden.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 00:18 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