Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fehler im FormCreate (https://www.delphipraxis.net/82257-fehler-im-formcreate.html)

MarvinM 9. Dez 2006 18:01

Re: Fehler im FormCreate
 
Du wirst bestimmt Verständnis dafür haben, dass ich nicht den Quellcode meines Jugend-forscht Projekts komplett offenlege, aber soweit:

Der Code des Hauptformulares:

Delphi-Quellcode:
unit uHaupt;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Spin, ExtCtrls, ComCtrls, Menus, Buttons, OleCtrls, SHDocVw, IniFiles, uNeutral;

type
  THaupt = class(TForm)


procedure THaupt.Datei_NeutralClick(Sender: TObject);
begin
  Neutral := TNeutral.Create(Haupt);
end;

end.
Der Quellcode von uNeutral:

Delphi-Quellcode:
unit uNeutral;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, ExtCtrls, uFrontEndNeutral, OleCtrls, SHDocVw, Menus;

type
  TNeutral = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    WebAnzeige: TStrings;
    constructor Create( AOwner: TComponent);
  end;

var
  Neutral: TNeutral;

  Zeichne: TZeichnen;


implementation



{$R *.DFM}

constructor TNeutral.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  WebAnzeige := TStringList.Create;
end;

procedure TNeutral.FormCreate(Sender: TObject);
begin
  Zeichne := TZeichnen.Create;
 
  FehlerLabel.Caption := '';
  Zeichne.Enable(false);
end;

end.
Und zu Guter letzt der Code von uFrontEndNeutral:

Delphi-Quellcode:
unit uFrontEndNeutral;

interface

uses
  classes,
  UKonstante,
  Graphics,
  SysUtils,
  FileCtrl;

type
  TZeichnen = class(TObject)
  public
    procedure Enable(Direction: Boolean);
  end;

implementation

uses
  uNeutral;

procedure TZeichnen.Enable(Direction: Boolean);
begin
  with Neutral do
  begin
    EDecAnzAtomMitOH.Enabled := direction;
    EDecAnzOH.Enabled := direction;
    EIncAnzAtomMitOH.Enabled := direction;
    EIncAnzOH.Enabled := direction;
    SDecAnzSaeure.Enabled := direction;
    SDecAnzH.Enabled := direction;
    SIncAnzSaeure.Enabled := direction;
    SIncAnzH.Enabled := direction;
    ChkAnzMolekuele.Enabled := direction;
    ChkAnzTeile.Enabled := direction;
    HintAnzTeile.Enabled := Direction;
    HintAnzMolekuele.Enabled := direction;
    React.Enabled := Direction;
    EDecAnzAtomMitOH.Enabled := direction;
    EDecAnzOH.Enabled := direction;
  end;
end;

end.

mkinzler 9. Dez 2006 18:03

Re: Fehler im FormCreate
 
Hast du an Zeile 11ff was wegglassen?
Ersetze das haupt in Zeile 15 besser durch Self.
in
Delphi-Quellcode:
 
procedure TZeichnen.Enable(Direction: Boolean; Neutral: TNeutral);

MarvinM 9. Dez 2006 18:08

Re: Fehler im FormCreate
 
ja in der uHaupt hab ich was vergessen, die richtige Deklaration sieht so aus:

Delphi-Quellcode:
type
  THaupt = class(TForm)
    MainMenu1: TMainMenu;
    Datei_Neutral: TMenuItem;

    procedure Datei_NeutralClick(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    WebAnzeige: TStringList;
  end;
Ja ich hab Haupt durch self ersetzt, bringt aber auch keinen Erfolg

mkinzler 9. Dez 2006 18:17

Re: Fehler im FormCreate
 
Zitat:

Ja ich hab Haupt durch self ersetzt, bringt aber auch keinen Erfolg
War auch eine allgemeine Bemerkung, weil hiermit ja eine bestimmte Instanz der klasse referenziert wird und nicht die gearde aktive.

Wo ist FehlerLabel deklariert? ist es eine Komponente, die auf der Form liegt?

MarvinM 9. Dez 2006 18:20

Re: Fehler im FormCreate
 
FehlerLabel ist ein StaticText, der auf dem Formular Neutral liegt.

Damit ist FehlerLabel auch in der Klasse TNeutral deklariert.

mkinzler 9. Dez 2006 18:23

Re: Fehler im FormCreate
 
Wo ist Zeichne deklariert? Vielliecht wäre .Loaded besser als .FormCreate

MarvinM 9. Dez 2006 18:29

Re: Fehler im FormCreate
 
Gibt es ein OnLoad Procedure bei einem Formular? Bei mir sehe ich im ObjectInspector keins. Oder steht das wo anders?

Zeichne ist in der uNeutral hier deklariert:

Delphi-Quellcode:
var
  Neutral: TNeutral;

  Zeichne: TZeichnen;
TZeichnen ist in der uFrontEndNeutral (Code weiter oben im Thread) deklariert.

mkinzler 9. Dez 2006 18:33

Re: Fehler im FormCreate
 
Zitat:

Gibt es ein OnLoad Procedure bei einem Formular? Bei mir sehe ich im ObjectInspector keins. Oder steht das wo anders?
Dies ist niht published. Sie wird aufgerufen, wenn alle Eigenschaften der Unterkomponenten aus der .dfm wiederhergestellt sind.

MarvinM 9. Dez 2006 18:39

Re: Fehler im FormCreate
 
Und wo find ich die? Oder muss ich die selber erstellen, wenn ja wo? :oops:

mkinzler 9. Dez 2006 18:41

Re: Fehler im FormCreate
 
Einfach ne Methode deklarieren die Loaded heißt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:49 Uhr.
Seite 3 von 5     123 45      

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