AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi FillRect(Rect) geht und in der Unterprocedure geht es nicht
Thema durchsuchen
Ansicht
Themen-Optionen

FillRect(Rect) geht und in der Unterprocedure geht es nicht

Ein Thema von JoelH · begonnen am 11. Jul 2003 · letzter Beitrag vom 12. Jul 2003
Antwort Antwort
Seite 3 von 4     123 4      
JoelH
(Gast)

n/a Beiträge
 
#21

hmm,

  Alt 11. Jul 2003, 22:37
welche Gefahren drohen mir wenn ich das weg lassen ?

Ich meine nicht dass ich es mir nicht merken würde aber warum das ganze ? Es ist doch total wurscht, der Constructor hat null nachteile durch meine Deklaration. Ich sehe nicht wie man mich bescheissen könnte

Vor allem macht dieses OVERRIDE mich eher stutzig, ich will das nicht wirklich OVERRIDEN, ich will verschiedene Konstruktoren haben die auch alle aufgerufen werden im Projekt.Da ist mir Delphi noch etwas suspekt aber ich mach es ja auch erst 3 Monate.
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#22

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

  Alt 11. Jul 2003, 23:00
Das hat 2 Gründe.
  • 1. Du hast eine Warnung weniger
  • 2. Du bringst Delphi nicht durcheinander. Der virtuelle Konstruktor von TComponent hat schon seinen Nutzen und Zweck. Wenn du nun diesen nicht mit override überschreibst, fügt der Compiler automatisch das reintroduce ein. Wird deine Klasse dann von irgendwem oder irgendetwas (<= VCL) automatisch erzeugt, dann kracht es, da nicht dein Konstruktor aufgerufen wird, sondern, der virtuelle, den du ja nicht überschrieben hast.

[edit=Daniel B]List-Tags korrigiert. Mfg, Daniel B[/edit]
  Mit Zitat antworten Zitat
JoelH
(Gast)

n/a Beiträge
 
#23

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

  Alt 11. Jul 2003, 23:31
@jbg
zu 1)
*gg*

zu 2)
versteh ich jetzt nicht. Das ist doch das Prob des COmpilers und nicht des Programmierers. Wenn ich Create zuerstmal überschreibe, was anderes mache ich ja nicht mit
 constructor Create(Aowner:Tcomponent);OVERLOAD; Denkt euch das OVERLOAD weg und ersetzt es durch OVERRIDE !!
Wenn ich jetzt aber auch einen anderen aufruf brauche , dann überschreib ich das ganze einfach, denn IMHO sichert im Konstruktor
Delphi-Quellcode:
constructor Tfrm_dlg_Arbeitstagekalender.Create(Aowner:Tcomponent);
begin
  inherited create(Aowner);
  aufrufart := 0;
end;
das
inherited create(Aowner) eh dass der ursprüngliche Konstruktor zum Einsatz kommt !


Wo ich allerdings noch nicht klar Delphi verstehe ist dass man wohl Konstruktoren vererben kann oder wie, dass ist natürlich ein Killer denn Sinn macht es nicht. Kein Konstruktor kann seine Childclass konstruieren, das wiederspricht ja den Sinn der Vererbung, denn dann ist die CHildclass ja nix anderes wie eine Instanz der Elternklasse .

Meine Meinung aber die Diskussion ist interessant auch wenn Tom nimmer antwortet, ist Wochenende !?
  Mit Zitat antworten Zitat
Tom

Registriert seit: 7. Jan 2003
318 Beiträge
 
RAD-Studio 2009 Pro
 
#24

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

  Alt 11. Jul 2003, 23:39
Zitat von JoelH:
Meine Meinung aber die Diskussion ist interessant auch wenn Tom nimmer antwortet,
Ich finde die Diskussion müßig. Da es ansich nun einen richtigen Weg gibt entfällt ein bißchen der Sinn dieser Diskussion. Wenn Du einen anderen Weg gehen möchtest, mache das. Ich halte diesen Weg einfach für falsch und vom Gegenteil wirst Du mich nicht überzeugen können.

Ignoriere weiter Deine Meldungen/Warnungen und sei glücklich. Ich kümmer mich drum und bin auch glücklich

Zitat:
ist Wochenende !?
Ja.
  Mit Zitat antworten Zitat
JoelH
(Gast)

n/a Beiträge
 
#25

hmm,

  Alt 11. Jul 2003, 23:54
schad.

Denn wo ist denn de Falle bei erner Variable die nie gebracuht wird ?? Ich verstehe es echt nicht. Wenn man vielleicht mit globalen Variablen hantiert kannes zum Killer werden aber wer Globale verwendet gehört eh gesteinigt !
  Mit Zitat antworten Zitat
Tom

Registriert seit: 7. Jan 2003
318 Beiträge
 
RAD-Studio 2009 Pro
 
#26

Re: hmm,

  Alt 12. Jul 2003, 00:01
Zitat von JoelH:
Denn wo ist denn de Falle bei erner Variable die nie gebracuht wird ??
Das Du den Wald vor lauter Bäumen nicht mehr siehst. Oder anders, Du bekommst nicht mehr kurz und knapp mitgeteilt was Sache ist und übersiehst im Wust der Meldungen die wichtigen Meldungen. So ist ja auch dieser Thread zustande gekommen.

Zitat:
aber wer Globale verwendet gehört eh gesteinigt !
Zumindest ist es besser nicht drüber zu reden ...
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#27

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

  Alt 12. Jul 2003, 00:01
Zitat von JoelH:
Wo ich allerdings noch nicht klar Delphi verstehe ist dass man wohl Konstruktoren vererben kann oder wie, dass ist natürlich ein Killer denn Sinn macht es nicht. Kein Konstruktor kann seine Childclass konstruieren, das wiederspricht ja den Sinn der Vererbung, denn dann ist die CHildclass ja nix anderes wie eine Instanz der Elternklasse.
Delphi-Quellcode:
function NewComponent(ComponentClass: TComponentClass): TComponent;
begin
  Result := ComponentClass.Create(nil);
end;

// ...
var
  C: TComponent;
begin
  C := NewComponent(TMyComponent);
  try
    // ...
  finally
    C.Free;
  end;
end;
Dafür braucht man virtuelle Konstruktoren. Und das wird von der VCL intern sehr stark genutzt.

[edit=Luckie]Quate-Tags gefixet. Mfg, Luckie[/edit]
  Mit Zitat antworten Zitat
JoelH
(Gast)

n/a Beiträge
 
#28

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

  Alt 12. Jul 2003, 00:10
@Tom
wieso versinke ich, ich ignoriere einfach.

@jbg
das muss ich erst nachlesen, da bin ich ehrlich da komm ich gerade nicht mit. Aber wen ich es sehe dann verstehe ich dein Argument nicht. Ich bin der Gott und nicht der Compiler, also hat der Compiler zu verstehen was ich will und nicht umgekehrt. Ich bin kein meister der virtuellen Funktionen aber ich sehe das so, wenn der Compiler es nicht versteht dann sollte es nicht angeboten werden denn die untergräbt die Konsistenz des gesamten gGebildes !
  Mit Zitat antworten Zitat
Tom

Registriert seit: 7. Jan 2003
318 Beiträge
 
RAD-Studio 2009 Pro
 
#29

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

  Alt 12. Jul 2003, 00:15
Zitat von JoelH:
wieso versinke ich, ich ignoriere einfach.
Wie schon gesagt: Ich halte die Diskussion für müßig. Du hast rund 120 Meldungen/Warnungen, übersiehst die wichtigste (Hinweis auf zuviele Ends) und siehst nicht ein, dass dieses ein Fehler ist. Wir können uns so noch 100 Jahre weiter unterhalten.
  Mit Zitat antworten Zitat
JoelH
(Gast)

n/a Beiträge
 
#30

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

  Alt 12. Jul 2003, 00:22
falsch, ich habe nicht die verbindung zwischen der Fehlermeldung und der Ursache gesehen, natürlicvh kann man sagen dass ich der Fehler im System bin, bin ich ja auch. Aber das liegt nicht an den anderen Fehlern, denn wie gesagt, es wurden keine weiteren Folgefehler gezeigt, wie auch ?

Wenn ein End fehlt dann kommt das ein ; expected sit und ein Procedure kam, aber wenn ein END; zuviel ist wird dei folgeNachricht zur HDC expected TRect found oder wie auch immer. Das ist IMHO ein himmelweiter unterschied !

Wie auch immer, wenn es dir eh müssig ist warum ahst du dann nicht meine Fragen beantwortet ?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 04:30 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