AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Komponente dauerhaft nil

Ein Thema von DoktorD · begonnen am 10. Nov 2010 · letzter Beitrag vom 11. Nov 2010
Antwort Antwort
Seite 1 von 3  1 23      
DoktorD

Registriert seit: 13. Dez 2005
153 Beiträge
 
#1

Komponente dauerhaft nil

  Alt 10. Nov 2010, 12:54
Guten Tag,

Haben ein Prolbem mit einer Komponente im Projekt.
Und zwar wird das Create einer Form aufgerufen und hierbei wird eine Eigenschaft eines Panels, welches auf der Form sitzt gesetzt.

Panel3.Visible := TRUE;

Panel3 ist jedoch immer NIL. Wird die Zeile aufgerufen kommt es natürlich zu einer Zugriffsverletzung.

Habt Ihr vieleicht eine Idee wonach ich noch suchen kann um dieses Problem zu beseitigen?

Vielen Dank im Voraus.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Komponente dauerhaft nil

  Alt 10. Nov 2010, 13:02
Existiert dieses Panel3 auch in der DFM (auf der Form)?

Nur weil eine Variable / ein Feld mit diesem Namen existiert, muß nicht von der VCL darin eine Komponente angelegt/verlinkt werden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
DoktorD

Registriert seit: 13. Dez 2005
153 Beiträge
 
#3

AW: Komponente dauerhaft nil

  Alt 10. Nov 2010, 13:06
Ja, scheint alles OK zu sein in der DFM. Hier der Ausschnitt. In den Panels sind noch Labels und Edits drinne. Die sind zur Laufzeit auch nil.

Code:
object Panel3: TPanel
    Left = 128
    Top = 272
    Width = 185
    Height = 65
    TabOrder = 26
    object Label44: TLabel
      Left = 8
      Top = 16
      Width = 74
      Height = 16
      Caption = 'konvertiert'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -13
      Font.Name = 'MS Sans Serif'
      Font.Style = [fsBold]
      ParentFont = False
    end
    object Label45: TLabel
      Left = 8
      Top = 32
      Width = 26
      Height = 16
      Caption = 'von'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -13
      Font.Name = 'MS Sans Serif'
      Font.Style = [fsBold]
      ParentFont = False
    end
    object Edit11: TEdit
      Left = 112
      Top = 8
      Width = 60
      Height = 21
      TabOrder = 0
      Text = 'Edit11'
    end
    object Edit12: TEdit
      Left = 112
      Top = 32
      Width = 60
      Height = 21
      TabOrder = 1
      Text = 'Edit12'
    end
  end
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Komponente dauerhaft nil

  Alt 10. Nov 2010, 13:08
Reden wir hier eigentlich vom OnCreate-Ereignis der Form oder von Constructor und Co.?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
DoktorD

Registriert seit: 13. Dez 2005
153 Beiträge
 
#5

AW: Komponente dauerhaft nil

  Alt 10. Nov 2010, 13:18
Es handelt sich um das Create.

procedure TFRMmw.FormCreate(Sender: TObject);

Haben eben auch nochmal probiert eine neue Komponente hinzuzufügen und die Eigenschaften aufzurufen. Hier ist der Fehler ebenfalls. Auch wieder nil.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#6

AW: Komponente dauerhaft nil

  Alt 10. Nov 2010, 13:23
Dann ist klar was da schief läuft. Create() wird VOR dem Erstellen aller automatischer Komponenten ausgeführt, das Ereignis OnCreate() danach, quasi als letzter zum Erzeugen gehörender Schritt.

Edit: Wobei ich mir auf ein mal nicht mehr 100%ig sicher bin. *hust* Aber einen Versuch isses wert
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Komponente dauerhaft nil

  Alt 10. Nov 2010, 13:27
Im Contructor werden die Komponenten schon geladen, aber man muß dieses auch erstmal zulassen.

Wann/wo wird Inherited aufgerufen?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (10. Nov 2010 um 13:33 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Komponente dauerhaft nil

  Alt 10. Nov 2010, 13:30
Zeig doch mal den Kompletten Code deines FormCreate-Eventhandler.

(@himitsu, Medium): Das ist nicht der Konstruktor sondern der Eventhandler für OnCreate.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
DoktorD

Registriert seit: 13. Dez 2005
153 Beiträge
 
#9

AW: Komponente dauerhaft nil

  Alt 10. Nov 2010, 13:33
Wann/wo wird Inherited aufgerufen?
Wie meinst du das? Wo müsste ich das denn aufrufen?
Im Create sind auch noch andere Komponenten mit denen ich keine Problem habe (Timer, usw.).

Ich benutze hier das OnCreate Ereignis, keinen Constructor.
  Mit Zitat antworten Zitat
DoktorD

Registriert seit: 13. Dez 2005
153 Beiträge
 
#10

AW: Komponente dauerhaft nil

  Alt 10. Nov 2010, 13:35
Hier nochmal der Code.
Delphi-Quellcode:
procedure TFRMmw.FormCreate(Sender: TObject);
VAR
 Hilf   :   Integer;
begin
   Timer1.Interval := 0;
   Timer1.Enabled := False;
   Datenzeigenret := DAtenzeigen;
   FTyp_IDRet := Ftyp_ID;
   Panel2.Visible := FALSE;
   Panel3.visible := False;
end;
PS: Das ist nicht mein Projekt, sondern von einem Kollegen, der einen Schlaganfall hatte. Leider kann ich diesen dazu nicht mehr befragen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 09:31 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