![]() |
Programm friert bei Download ein?
hallöle ;-)
ich lade mit folgender funktion eine datei runter:
Delphi-Quellcode:
Aufruf:
function DownloadFile(SourceFile, DestFile: string): Boolean;
begin try Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0; except Result := False; end; end;
Delphi-Quellcode:
if DownloadFile(SourceFile, DestFile) then
begin showmessage('Download wurde erfolgreich abgeschlossen!!'); end else showmessage('Fehler'); end; allerding friert das programm immer ein wenn ich den download starte und 'taut' erst nach dessen ende wieder auf. der download funktioniert einbahnfrei genau so wie ich es mit wünsche aber, es ist mir unrecht dass das programm einfriert.
Delphi-Quellcode:
kenn ich natürlich, weiß aber nicht wie ich es in diesem falle einbringen soll, alles was ich bis jetzt versucht hab ist wirkungslos :-(
Application.ProcessMessages;
danke im vorraus |
Re: Programm friert bei Download ein?
Guck dir mal den letzten Parameter bei
![]() |
Re: Programm friert bei Download ein?
|
Re: Programm friert bei Download ein?
Auf wessen Mist ist eigentlich diese Idee gewachsen, URLDownloadToFile mit try-except zu umschließen? Ich sehe das in letzter Zeit ständig.
|
Re: Programm friert bei Download ein?
Zitat:
|
Re: Programm friert bei Download ein?
API-Funktionen schmeißen höchstens Exceptions wie Stackoverflow o.Ä., welche du sowieso nicht vernünftig behandeln kannst. Fehler werden durch den Rückgabewert angezeigt.
|
Re: Programm friert bei Download ein?
danke, das geht beängistigent schnell ;-)
@lucki könntest du mir das mit der callback funktion mal naher erlütern? oder gar auf meine funktion mal anweden bitte, für mich ist das online arbeiten mit delphi eher neuland deshalb kann ihc mit callback noch nicht so viel anfangen :? |
Re: Programm friert bei Download ein?
Man könnte auch einfach mal im Forum suchen:
![]() |
Re: Programm friert bei Download ein?
Schau mal da:
![]() |
Re: Programm friert bei Download ein?
hab ich auch eben gefunden aber trotzdem danke :)
aber bei:
Delphi-Quellcode:
sagt mir mein delphi 7 prof. das da kein = stehen darf sondern : aber das wär dann ja flasch und dann gibts auch nur fehler :cry:
cDownloadStatusCallback = class(TObject,IUnknown,IBindStatusCallback)
|
Re: Programm friert bei Download ein?
Haste auch brav "type" davor geschrieben?
|
Re: Programm friert bei Download ein?
ich bin die bravigkeit in person :mrgreen:
Delphi-Quellcode:
bitte nicht schimpfen wenns falsch is :zwinker:
type
TForm1 = class(TForm) cDownloadStatusCallback = class(TObject,IUnknown,IBindStatusCallback) |
Re: Programm friert bei Download ein?
Zitat:
Delphi-Quellcode:
type
TForm1 = class(TForm) private // ... public // ... end; cDownloadStatusCallback = class(TObject,IUnknown,IBindStatusCallback) // bla end; |
Re: Programm friert bei Download ein?
gemacht, danke aber jetzt kommt leider das :
[Error] Unit1.pas(74): Undeclared identifier: 'OnStartBinding' [Error] Unit1.pas(74): Undeclared identifier: 'GetPriority' [Error] Unit1.pas(74): Undeclared identifier: 'OnLowResource' [Error] Unit1.pas(74): Undeclared identifier: 'OnProgress' [Error] Unit1.pas(74): Undeclared identifier: 'OnStopBinding' [Error] Unit1.pas(74): Undeclared identifier: 'GetBindInfo' [Error] Unit1.pas(74): Undeclared identifier: 'OnDataAvailable' [Error] Unit1.pas(74): Undeclared identifier: 'OnObjectAvailable' [Error] Unit1.pas(74): Undeclared identifier: 'QueryInterface' [Error] Unit1.pas(74): Undeclared identifier: '_AddRef' [Error] Unit1.pas(74): Undeclared identifier: '_Release' [Error] Unit1.pas(92): Undeclared identifier: '_AddRef' ... ... ... geht noch lang weiter ;-( und das alles beim code:
Delphi-Quellcode:
private
function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall; function _AddRef: Integer; stdcall; function _Release: 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; stdcall; function OnObjectAvailable(const iid: TGUID; punk: IUnknown): HResult; stdcall; public end; cDownloadStatusCallback = class(TObject,IUnknown,IBindStatusCallback) end; |
Re: Programm friert bei Download ein?
Schau mal genau, wie Dominik es gezeigt hat.
Desweiteren nicht vergessen, die benötigten Units einzubinden. |
Re: Programm friert bei Download ein?
könnt iht mir nicht einfach zeigen was ich da falsch mache den meiner ansicht nach ist es genau so wie dominikkv
erst private dann public dann ein end; dann die klassendeklaration und nochmal ein end; :wall: |
Re: Programm friert bei Download ein?
Mit Type legst du einen neuen Typ fest, zB eine Klasse. Eine Klasse besteht grob gesagt aus dem:
Delphi-Quellcode:
Bei dir gibt es schon eine von der IDE angelegte Klasse namens TForm1.
type // Schlüsselwort
TMeineKlasse = class(Vorfahr) // Felder, Methoden und Eigenschaften end; Jetzt willst du eine neue Klasse unten drunter setzen.
Delphi-Quellcode:
Nicht vergessen das eine Klasse mit end; abgeschlossen wird :wink:
type // Schlüsselwort
TMeineKlasse = class(Vorfahr) // Felder, Methoden und Eigenschaften end; TMeineNeueKlasse = class(Vorfahr) // Felder, Methoden und Eigenschaften end; |
Re: Programm friert bei Download ein?
Und sowas kommt in die Code-Library, wo von vornherein der Code nicht stimmt. Traurig
|
Re: Programm friert bei Download ein?
danke mein guter ich liebe dich :mrgreen: :mrgreen: :mrgreen:
ne im ernst hast mir gut geholfen, das kommt davon wenn man ~1/3 jahr nicht aktiv programmiert :!: |
Re: Programm friert bei Download ein?
Zitat:
|
Re: Programm friert bei Download ein?
Ich versuch das gerade auch aber dann bekomm ich das anscheinend nicht hin
|
Re: Programm friert bei Download ein?
Ich glaub da muss ich mich entschuldigen, der Code stimmt doch :oops:
|
Re: Programm friert bei Download ein?
ich habe erneut probleme damit bitte mal auf:
![]() gehen danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:06 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