Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Wann sind meine Eigenschaften verfügbar? (https://www.delphipraxis.net/89626-wann-sind-meine-eigenschaften-verfuegbar.html)

newgro 3. Apr 2007 11:06


Wann sind meine Eigenschaften verfügbar?
 
Hi *,

ich wollte in einer Form einen Record definieren und im Constructor darauf zugreifen.
Leider bekomme ich immer einen EReadError 'Ungültiger Eiegenschaftswert'. Ab wann kann
ich auf die Variablen zugreifen? Wie kann ich das Problem lösen (Ich möchte die Werte
belegen, bevor irgendwelche Methoden darauf zugreifen)?

Cheers
Per

Delphi-Quellcode:
unit myunit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;

type
  TModel = record
    srcYear: integer;
    targetYear: integer;
  end;

type
  Tfrm_Editor = class(TForm)
    btnOk: TXFBitBtn;
    tfSrcYear: TEdit;
    tfTargetYear: TEdit;
  private
    { Private-Deklarationen }
    canceled: boolean;
    model: TModel;
  public
    { Public-Deklarationen }
    Constructor Create(form: TForm; year: integer); overload;
  end;

var
  frm_Editor: Tfrm_Editor;

implementation

{$R *.dfm}

{
  Creator.
}
Constructor Tfrm_Editor.Create(form: TForm; year: integer);
begin
  self.Create(form);
  canceled:=false; <--- wirft den error
  model.srcYear:=year;
  model.targetYear:=year + 1;
end;
... {weitere Methoden)

Bernhard Geyer 3. Apr 2007 11:11

Re: Wann sind meine Eigenschaften verfügbar?
 
Wie wäre es mit einem inherited am Anfang des eigenen Konstruktors?

mkinzler 3. Apr 2007 11:14

Re: Wann sind meine Eigenschaften verfügbar?
 
Dein Constructor sieht etwas komisch aus. Was hast du vor?

newgro 3. Apr 2007 11:19

Re: Wann sind meine Eigenschaften verfügbar?
 
@Bernhard: Meinst Du so? Das geht auch nicht (gleicher Fehler, gleiche Stelle)
@mkinzler: Ich möchte beim Erzeugen der Form gleich einen Wert vorgeben.

PS: Bin neu bei delphi :-)

Cheers
Per

Delphi-Quellcode:
{
  Creator.
}
Constructor Tfrm_Editor.Create(form: TForm; from: integer);
begin
  inherited Create(form);
  canceled:=false;
  model.srcYear:=from;
  model.targetYear:=from + 1;
end;

mkinzler 3. Apr 2007 11:20

Re: Wann sind meine Eigenschaften verfügbar?
 
Dann würde ich .Loaded() überschreiben

newgro 3. Apr 2007 11:23

Re: Wann sind meine Eigenschaften verfügbar?
 
Ich gehe mal davon aus, das Loaded() nach dem Laden der Klasse ausgeführt wird. Wie soll ich denn dort die Defaultwerte reinbekommen?

Cheers
Per

mkinzler 3. Apr 2007 11:35

Re: Wann sind meine Eigenschaften verfügbar?
 
Loaded wird aufgerufen nachdem alle Einstellungen aus der dfm geladen wurde.

newgro 3. Apr 2007 11:36

Re: Wann sind meine Eigenschaften verfügbar?
 
Und wie bekomme ich meinen Standardwert da rein? Es wird doch sicher nicht mein Standardwert bei Loaded mit übergeben.

Danke für die Hilfe
Per

mkinzler 3. Apr 2007 11:40

Re: Wann sind meine Eigenschaften verfügbar?
 
Nein, aber du kannst ihn innerhalb Loaded setzen.

newgro 3. Apr 2007 11:46

Re: Wann sind meine Eigenschaften verfügbar?
 
Kurze Erläuterung (ich denke nämlich wir sprechen von 2 versch. Situationen)

Ich zeige in FormA Daten für ein Jahr an (Combobox mit Jahren zur Auswahl).
Nun kann man in FormA auf einen Knopf drücken und damit die Daten in ein anderes Jahr
übertragen. Um das Zieljahr festzulegen, wird FormB angezeigt (s.o.). Das Ausgangsjahr
in FormB soll das Jahr sein, das gerade in FormA gewählt ist.

Ich hoffe, das macht mein Problem etwas klarer.

Cheers
Per


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:04 Uhr.
Seite 1 von 2  1 2      

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