Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi FillRect(Rect) geht und in der Unterprocedure geht es nicht (https://www.delphipraxis.net/6454-fillrect-rect-geht-und-der-unterprocedure-geht-es-nicht.html)

Tom 11. Jul 2003 11:23

Re: hmm,
 
Zitat:

Zitat von JoelH
Das übliche halt,

Üblich ist das nicht. Normal sind Null Meldungen/Warnungen, wenn man vernünftig arbeitet. Die Meldung "Bla bla ist plattformspezifisch ..." nimmt ggf. eine Sonderstellung ein.

Zitat:

damit hab ich keine Probleme.
Doch hast Du. Hättest Du nämlich normalerweise Null Meldungen/Warnungen hättest Du im konkreten Fall den Hinweis auf das überflüssige End nicht übersehen.

Ansonsten: Tick, Tick, Tick ...

JoelH 11. Jul 2003 11:40

Re: FillRect(Rect) geht und in der Unterprocedure geht es ni
 
@jbg
Geht net, das Create ist überladen, also ist nix mit Override ;) Iss ja ein OVERLOAD.

@Tom
Zitat:

[Warning] dlg_auszahlung_anweisen.pas(615): Variable 'mwst' might not have been initialized
Ich weiss dass es initialisiert wird, der Compiler weiss es nicht, er vermutet dass es nicht initialisiert sein könnte. Warum sollte ich diese Warning abfangen ?

Ich weiss, es geht um Prinzip aber nicht alles was der Compiler sagt muss auch wirklich schädlich sein sondern ist einfach eine Fehleinschätzung !

Tom 11. Jul 2003 11:43

Re: FillRect(Rect) geht und in der Unterprocedure geht es ni
 
Zitat:

Zitat von JoelH
Ich weiss dass es initialisiert wird, der Compiler weiss es nicht, er vermutet dass es nicht initialisiert sein könnte.

Das ist zunächst einmal eine Behauptung von Dir. Liefer doch mal einen Beweis (Source).

jbg 11. Jul 2003 11:56

Re: FillRect(Rect) geht und in der Unterprocedure geht es ni
 
Zitat:

Zitat von JoelH
Geht net, das Create ist überladen, also ist nix mit Override ;) Iss ja ein OVERLOAD.

Da gibt es auch noch reintroduce. Aber ob das nötig ist, kann ich nur mit dem Konstruktor(en) Deklarationen (nicht Inhalt) sagen.


Zitat:

Ich weiss, es geht um Prinzip aber nicht alles was der Compiler sagt muss auch wirklich schädlich sein sondern ist einfach eine Fehleinschätzung !
Um das Prinzip geht es hier nicht. Es geht eher darum: Wie vermeide ich tickende Zeitbomben. Du kannst nie wissen, welche Abfolgewege deine Anwender bei deinem Programm alles einschlagen. Hast du wirklich alle beachtet?
Und was, wenn mal eine Funktion aus irgendeinem sehr sehr unwahrscheinlichen Grund mal fehlschlägt? Mit GetMem/New/AllocMem kann man schön arbeiten. Aber es kann auch mal vorkommen, dass der Speicher nicht mehr ausreicht und dann kommt das FreeMem/Dispose und man hat die Bescherung.

JoelH 11. Jul 2003 12:08

hmm,
 
@jbg
Der Code :
Delphi-Quellcode:
  public
    { Public declarations }
    constructor Create(Aowner:Tcomponent);OVERLOAD;
    constructor Create(Aowner:Tcomponent;ab:TDate;uetage:integer);OVERLOAD;
  end;

implementation

{$R *.DFM}

uses mdimain;

constructor Tfrm_dlg_Arbeitstagekalender.Create(Aowner:Tcomponent);
begin
  inherited create(Aowner);
  aufrufart := 0;
end;

constructor Tfrm_dlg_Arbeitstagekalender.Create(Aowner:Tcomponent;ab:TDate;uetage:integer);
begin
  inherited create(Aowner);
  aufrufart := 1;
  tage := uetage;
  abdatum := ab;
end;
@tom
war ein doofes Beispiel
ein anderes, was ich unsprünglich gemeint hatte
zB.
Zitat:

[Hint] ReportMB.pas(98): Value assigned to 'bres' never used
oder
Zitat:

[Hint] dlg_auszahlung_anweisen.pas(414): Variable 'Prefix_Text' is declared but never used in 'Tfrm_dlg_auszahlung_anweisen.Get_Betreffvorschlag '
Das sind einfach rudimente von älteren Versionen die sich rausgeschossen haben und durch den Compiler entsorgt werden.

Tom 11. Jul 2003 12:13

Re: FillRect(Rect) geht und in der Unterprocedure geht es ni
 
Was hindert Dich daran einen Doppelklick auf die Meldung durchzuführen und den Source kurz zu korrigieren? Das sind ein paar Sekunden Arbeit.

Dann kannst Du Dir wenigstens immer alle Meldungen/Warnungen ansehen und mögliche Fehlerursachen beheben. Bei Deiner Vorgehensweise ist es zu aufwendig die echten Meldungen/Warnungen heraus zusortieren. Im Ergebnis korrigierst Du also einige Fehler nicht und Dein Programm ist eine Zeitbombe.

JoelH 11. Jul 2003 13:37

hmm,
 
falsch, ich korrigiere Fehler, ich entferne aber nichts rudimäntäres was man vielleicht mal wieder brauchen könnte, es wurde ja schon einmal gebraucht, warum sollte es also nicht wie in gebrauch kommen ?

Christian Seehase 11. Jul 2003 13:45

Re: FillRect(Rect) geht und in der Unterprocedure geht es ni
 
Moin Joel,

Zitat:

Zitat von JoelH
ich entferne aber nichts rudimäntäres was man vielleicht mal wieder brauchen könnte, es wurde ja schon einmal gebraucht, warum sollte es also nicht wie in gebrauch kommen ?

Weil Du Dir dadurch die Übersicht kaputt machst (siehe die Grosse Anzahl Meldungen/Warnings). Wenn Du der Ansicht bist, dass Du es irgendwann einmal noch gebrauchen könntest, dann kommentier es doch aus, statt es zu löschen.

JoelH 11. Jul 2003 13:50

hmm,
 
warum sollte ich zB. Felder aus einem Query entfernen ?

von der Geschwindigkeit abgesehen ?

jbg 11. Jul 2003 15:11

Re: hmm,
 
Zitat:

Zitat von JoelH
Der Code :

Delphi-Quellcode:
  public
    { Public declarations }
    constructor Create(Aowner: TComponent); overload; override;
    constructor Create(Aowner: TComponent; ab: TDate; uetage: Integer); overload;
  end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:22 Uhr.
Seite 2 von 4     12 34      

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