Delphi-PRAXiS :: Das Forum für Fragen zu Delphi
Das Experten Forum für Delphi Programmierer
Hilfe für CodeGear Delphi gibts es hier im Forum
Delphi Quelltexte und Source Codes
 
Delphi-PRAXiS :: Foren-ÜbersichtForen-Übersicht Delphi-PRAXiS Modul-ÜbersichtSite-Map Delphi-PRAXiS durchsuchenSuchen Delphi-PRAXiS Code-LibraryCode-Library Jetzt registrieren!Registrieren Login  
   
 
0
 
Delphi für Win32
Form-Konstruktor überschrieben; wie werden Komp. erzeugt?
Ein Delphi (Win32)-Thema von BackOrifice.

Vorheriges Thema anzeigen  |  Nächstes Thema anzeigen
Neuen Beitrag schreiben Auf Beitrag antworten
als PDF-Datei herunterladenThema ausdrucken
 
Delphi-PRAXiS Forum - Übersicht -> VCL / WinForms / Controls
Seite 1 von 1   [ 5 Beiträge ]  
 
 Autor 
 Nachricht 
 
BackOrifice #1|Beitrag #984275Verfasst am: 06.01.2009, 01:35      Titel: Form-Konstruktor überschrieben; wie werden Komp. erzeugt? Antworten mit Zitat
Mitglied
Status: offline
Beiträge: 75
angemeldet: 06.06.2005
RAD-Studio 2007 Architect

Sprache: Delphi (Win32)

Hi =)

Ich hoffe, so spät abends ist noch einer wach.

Ich habe eine Formularklasse, bei der ich den Konstruktor überschrieben habe um dem Formular 1, 2 Objekte mitzugeben.
Delphi-Quellcode: markieren
constructor Tfrm_Settings.Create(Settings: TSettings; Semesters: TSemesters);
begin
  _Settings := Settings;
  _Semesters := Semesters;
end;



Das Formular wird _NICHT_ automatisch erzeugt, sondern nur dann, wenn es gebraucht wird.
Delphi-Quellcode: markieren
var FSemesterSettings : Tfrm_NewSemester;
begin
  FSemesterSettings := Tfrm_NewSemester.Create(Semesters);
  FSemesterSettings.Show;
  FSemesterSettings.Release;


Problem jetzt: Da ich den Konstruktor überschrieben hab, werden die Komponenten auf dem Formular nicht mehr automatisch erzeugt; Nach dem Konstruktoraufruf sind alle Objekte außer _Settings und _Semesters nil. -> Logischweiße schlägt dabei FSemesterSettings.Show fehl, da von der Adresse 0 gelesen wird.

2 Lösungen fallen mir ein:
1) Ich kümmer mich jetzt im Konstruktor selbst um alle Komponenten, dass sie erzeugt werden
2) Ich benutze irgendein geiles Schlüsselwort, welches mir die Objekte erstellt - nur kenn ich das nicht =(

Hilfe!
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
HalloDu #2|Beitrag #984277Verfasst am: 06.01.2009, 02:32      Titel: Re: Form-Konstruktor überschrieben; wie werden Komp. erzeugt Antworten mit Zitat
Mitglied
Alter: 18
Status: offline
Beiträge: 264
angemeldet: 24.04.2006
Wohnort: Oelde
Delphi 2009 Professional

Wenn du einen Konstruktor überschreibst musst du mit inherited den geerbten Konstruktor, gleiches gilt für Destruktor, aufrufen.
Delphi-Treff

 Zuletzt bearbeitet von HalloDu am 06.01.2009, 02:32, insgesamt 1-mal bearbeitet.
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
lincore #3|Beitrag #984278Verfasst am: 06.01.2009, 02:34      Titel: Re: Form-Konstruktor überschrieben; wie werden Komp. erzeugt Antworten mit Zitat
Mitglied
Alter: 28
Status: offline
Beiträge: 26
angemeldet: 27.12.2008
Wohnort: Bad Segeberg
Delphi 2009 Professional

Delphi-Quellcode: markieren
constructor create(...);
begin
  inherited {create(...), falls Parameter abweichen};
  {...}
end;


Nacht,
lincore

Wenn Stallman eines Tages mit Zornesröte im Gesicht und blutverschmierter Klinge vor deiner Tür steht, behaupte nicht ich hätte dich nicht gewarnt.
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
BackOrifice #4|Beitrag #984280Verfasst am: 06.01.2009, 05:23      Titel: Re: Form-Konstruktor überschrieben; wie werden Komp. erzeugt Antworten mit Zitat
Mitglied
Status: offline
Beiträge: 75
angemeldet: 06.06.2005
RAD-Studio 2007 Architect

Auf das inherited bin ich auch gekommen - aber nicht auf das Create(nil); Very Happy


Danke, Jungs!
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
mkinzler #5|Beitrag #984296Verfasst am: 06.01.2009, 09:48      Titel: Re: Form-Konstruktor überschrieben; wie werden Komp. erzeugt Antworten mit Zitat
Moderator
Beiträge: 27.696
angemeldet: 09.12.2005
Wohnort: Heilbronn
Delphi 2010 Professional

Statt Nil wäre aber ein Owner auch nicht verkehrt
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
Anzeige-Optionen:    
 
Delphi-PRAXiS Forum - Übersicht -> VCL / WinForms / Controls Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1   [ 5 Beiträge ]  
 
  Neuen Beitrag schreiben Auf Beitrag antworten
als PDF-Datei herunterladenThema ausdrucken
 
   
Gehe zu:  
Du darfst keine Beiträge in dieses Forum schreiben.
Du darfst auf Beiträge in diesem Forum nicht antworten.
Du darfst Deine Beiträge in diesem Forum nicht bearbeiten.
Du darfst Deine Beiträge in diesem Forum nicht löschen.
Du darfst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten.
Du kannst Dateien in diesem Forum nicht herunterladen.


Impressum / Kontakt
Allgemeine Geschäftsbedingungen
Verhaltenskodex & FAQ

Delphi-PRAXiS :: Das Forum für Delphi-Programmierer
Das Experten Forum für Delphi ProgrammiererHilfe für Borland Delphi gibts es hier im ForumDelphi Quelltexte und Source CodesDelphi-PRAXiS :: Das Forum für DelphiWindows APIInternet und NetzwerkeVCL und Datenbanken
 

Delphi-PRAXiS V.2005 III
© 2002-2010 by Daniel R. Wolf
powered by phpBB © phpBB Group

Impressum / Kontakt Allgemeine Geschäftsbedingungen