![]() |
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:
... {weitere Methoden)
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; |
Re: Wann sind meine Eigenschaften verfügbar?
Wie wäre es mit einem inherited am Anfang des eigenen Konstruktors?
|
Re: Wann sind meine Eigenschaften verfügbar?
Dein Constructor sieht etwas komisch aus. Was hast du vor?
|
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; |
Re: Wann sind meine Eigenschaften verfügbar?
Dann würde ich .Loaded() überschreiben
|
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 |
Re: Wann sind meine Eigenschaften verfügbar?
Loaded wird aufgerufen nachdem alle Einstellungen aus der dfm geladen wurde.
|
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 |
Re: Wann sind meine Eigenschaften verfügbar?
Nein, aber du kannst ihn innerhalb Loaded setzen.
|
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. |
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