AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Klasse: HTTPDownloader...
Thema durchsuchen
Ansicht
Themen-Optionen

Klasse: HTTPDownloader...

Ein Thema von Real-TTX · begonnen am 29. Apr 2009 · letzter Beitrag vom 1. Mai 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu

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

Re: Klasse: HTTPDownloader...

  Alt 30. Apr 2009, 00:02
in C sind es nur Sprungmarken, aber in Delphi wird da automatisch rausgesprungen ... ist eher mit mehreren IFs vergleichbar.


Delphi-Quellcode:
case x of
  1: begin
       a;
     end;
  2: begin
       b;
     end;
  3: begin
       c:
     end;
  else begin
         e;
       end;
end;

// entspricht (nur ohne mehrfachen vergleich)

if x = 1 then begin
  a;
end else if x = 2 then begin
  b;
end else if x = 3 then begin
  c;
end else begin
  e;
end;
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
shmia

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

Re: Klasse: HTTPDownloader...

  Alt 30. Apr 2009, 15:55
Wirf das Property ProcessMessages mal komplett aus der Klasse raus.
Wenn jemand seine Applikation mit Application.ProcessMessages am Leben erhalten möchte,
dann kann er das doch im Event OnDownloadWork tun.
Es ist je nach Kontext (VCL-Anwendung, Non-VCL-Anwendung, Konsolenanwendung) die Aufgabe des Benutzers der Klasse dies zu tun.
Damit kann man auch die Unit Forms aus dem Uses-Abschnitt entfernen.
Andreas
  Mit Zitat antworten Zitat
Real-TTX

Registriert seit: 7. Mai 2008
Ort: Stuttgart / Wertheim
136 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Klasse: HTTPDownloader...

  Alt 30. Apr 2009, 19:48
k, jetzt wo du es sagst.. Ich nehms sofort raus. Ist ja peinlich

Danke & Gruß
Real-TTX
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Klasse: HTTPDownloader...

  Alt 30. Apr 2009, 19:57
Zitat von himitsu:
Delphi-Quellcode:
if @DownloadBegin <> nil then
  DownloadBegin(CurrentDownload);

if @DownloadEnd <> nil then
  DownloadEnd(CurrentDownload);

if @DownloadWork <> nil then
  begin
dieses ist immer <> nil, denn die Variablen sind immer vorhanden
Delphi-Quellcode:
if Assigned(DownloadBegin) then
  DownloadBegin(CurrentDownload);

if Assigned(DownloadEnd) then
  DownloadEnd(CurrentDownload);

if Assigned(DownloadWork) then
  begin

// und wenn schon NIL, dann eher so
if Pointer(DownloadBegin) <> nil then
  DownloadBegin(CurrentDownload);
Ein einfaches @ ermittelt den eigentlichen Wert des Methodenzeigers, erst @@ die Adresse. Das klingt seltsam, ist aber so. Insofern ist auch der ursprüngliche Code korrekt.

Insgesamt finde ich die Benennungskonventionen im Code etwas seltsam. Normalerweise erhält das hinter einem Property stehende Feld als Name einfach ein f und den Namen der Eigenschaft. Präfixe wie bol-, int- usw. halte ich für unpraktisch.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Klasse: HTTPDownloader...

  Alt 30. Apr 2009, 20:03
Zitat von Apollonius:
Insgesamt finde ich die Benennungskonventionen im Code etwas seltsam. Normalerweise erhält das hinter einem Property stehende Feld als Name einfach ein f und den Namen der Eigenschaft. Präfixe wie bol-, int- usw. halte ich für unpraktisch.
Zitat von Real-TTX:
bei der Mehrfachverzweigung habe ich Begin End genommen weil es ohne nicht ging?
Und muss man da nicht normalerweise auch break benutzen, da es nur dumme DOS Sprungmarken sind ?
Er kommt von C
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#6

Re: Klasse: HTTPDownloader...

  Alt 1. Mai 2009, 08:54
Zitat von NamenLozer:
Er kommt von C
Nee, von Perl...
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Real-TTX

Registriert seit: 7. Mai 2008
Ort: Stuttgart / Wertheim
136 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Klasse: HTTPDownloader...

  Alt 1. Mai 2009, 09:25
Zitat von Apollonius:
Insgesamt finde ich die Benennungskonventionen im Code etwas seltsam. Normalerweise erhält das hinter einem Property stehende Feld als Name einfach ein f und den Namen der Eigenschaft. Präfixe wie bol-, int- usw. halte ich für unpraktisch.
Ich bin so eine Umfangreiche IDE noch nicht gewohnt Einfach mit der Maus über die Variable und schon sieht man von welchem Typ diese ist? Was ein unnötiger Luxus Darum auch die Bennenung. Als ich noch mit Perl/C gearbeitet habe: C in der Schule - Dort mussten wir einfach den Notepad von MS nutzen und Compiler & Linker selbst bedienen. Und Perl... Naja.. Gibts einfach keine IDE in der Art

Was für eine Bedeutung hätte der Präfix : "f" ?

Gruß, Real-TTX
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.874 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Klasse: HTTPDownloader...

  Alt 1. Mai 2009, 09:29
F steht für Field und wird für private Eigenschaften verwendet dazugehörige Properties dann ohen F

Delphi-Quellcode:
 TDemoKlasse = class
   private
     FName: string;
   published
     property Name: string read Fname write FName;
 end;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Klasse: HTTPDownloader...

  Alt 1. Mai 2009, 11:33
Da gibt es so inofizielle Formatierungsregeln/-hinweise, damit die Quellcodes halbwegs gleich aufgebaut/formatiert sind und somit jeder in fremden Codes erstmal einen leichteren Einblick bekommen kann (da er schonmal weiß was wofür steht)

Wie z.B. viele den Funktionsparametern ein a vorranstellen, Klassen mit T und Interfaces mit I beginnen ......

OK, bei mir haben Felder z.B. ein _ vorranstehn, da ich es mir vor Jahren so angewöhnt hatte und ich es übersichtlicher find (das auch andere Dinge mal mit F anfangen können)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 16:51 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