![]() |
Fehler im FormCreate
Hallo zusammen!
Ich habe ein Problem beim Öffnen eines anderen Formulars: Wenn ich mit diesem Code ein Formular aufrufe (das hier heißt Neutral)
Delphi-Quellcode:
und dann den FormCreate ausführe
procedure THaupt.Datei_NeutralClick(Sender: TObject);
begin TNeutral.Create(haupt); end;
Delphi-Quellcode:
dann funktioniert die erste Anweisung (also das FehlerLabel.Caption := '';) einwandfrei, aber wenn ich nun Zeichne.Enable aufrufe, wird dies ausgeführt:
procedure TNeutral.FormCreate(Sender: TObject);
begin Zeichne := TZeichnen.Create; FehlerLabel.Caption := ''; Zeichne.Enable(false); end;
Delphi-Quellcode:
Der Fehler (eine EAccessViolation) tritt in der ersten Zeile auf (also EDecAnzAtomMitOH.Enabled := direction;)
procedure TZeichnen.Enable(Direction: Boolean);
begin with Neutral do begin EDecAnzAtomMitOH.Enabled := direction; EDecAnzOH.Enabled := direction; [und noch mehr davon] end; end; Wenn ich mir nun den Debugger zu Neutral ansehe steht da nil. Wenn ich nun das Formular direkt unter Projekt|Optionen|Formulare beim Start erzeigen lasse, kommt keine Fehlermeldung. Die Unit (uFrontEndNeutral), in der TZeichnen deklariert ist, ist unter interface eingetragen. Und in uFrontEndNeutral ist die uNeutral unter impletmentation eingetragen. Danke schonmal für eure Antworten! |
Re: Fehler im FormCreate
Meine Antwort beliebt die Selbe:
Ersetze Zitat:
Delphi-Quellcode:
Neutral := TNeutral.Create(Self);
|
Re: Fehler im FormCreate
Leider bleibt aber auch durch diese Methode Neutral nil...
|
Re: Fehler im FormCreate
Wo hast du Neutral deklariert?
|
Re: Fehler im FormCreate
Also in der uNeutral hier:
Delphi-Quellcode:
type
TNeutral = class(TForm) [...] private { Private-Deklarationen } public WebAnzeige: TStringList; end; var Neutral: TNeutral; Und in der anderen Unit (die in der TZeichnen deklariert ist) hier:
Delphi-Quellcode:
Also nicht direkt deklariert...
implementation
uses uNeutral; //EDIT: Unt in der Unit von der aus das Formular aufgerufen wird (uHaupt) hier:
Delphi-Quellcode:
interface
uses uNeutral; |
Re: Fehler im FormCreate
Dann sollte es eigentlich gehen.
Hat du WebAnzeige im Konstruktor von TNeutral erzeugt? |
Re: Fehler im FormCreate
TNeutral hat bei mir keinen Konstruktor - daher nein.
|
Re: Fehler im FormCreate
Dann erstelle einen.
|
Re: Fehler im FormCreate
Ähm... wie müsst der aussehen :oops: ?
|
Re: Fehler im FormCreate
Delphi-Quellcode:
type
TNeutral = class(TForm) [...] private { Private-Deklarationen } public WebAnzeige: TStrings; constructor Create( AOwner: TObject); end; ... constructor TNeutral.Create(AOwner self); begin inherited Create( AOwner); WebAnzeige := TStringList.Create; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:44 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