Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Fragen / Anregungen zur DP (https://www.delphipraxis.net/29-fragen-anregungen-zur-dp/)
-   -   fehlermeldung - programm retten..!!! (https://www.delphipraxis.net/192387-fehlermeldung-programm-retten.html)

ann 14. Apr 2017 09:56

fehlermeldung - programm retten..!!!
 
hallo. ich habe nichts am quelltext gerührt, aber ich habe aufeinmal diese komische meldung bekommen:
Delphi-Quellcode:
[dcc32 Fehler] PSunTimes.dpr(12): E2003 Undeklarierter Bezeichner: 'Form1'
und dann öffnet sich diese anwendung:

Delphi-Quellcode:
program PSunTimes;

uses
  Vcl.Forms,
  USunTimes in 'USunTimes.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm1,Form1);
  Application.Run;
end.
kann mir jemand helfen? ich bin anfänger und kann damit nichts anfangen... aber ich will mein programm retten!!!!!!!!!!!!!!!!!!!!!!!
danke.

a.def 14. Apr 2017 10:01

AW: fehlermeldung - programm retten..!!!
 
Hast du irgendetwas von irgendwoher kopiert und eingefügt?

SebastianZ 14. Apr 2017 10:02

AW: fehlermeldung - programm retten..!!!
 
Was steht denn in der USunTimes.pas im interface-teil?

a.def 14. Apr 2017 10:05

AW: fehlermeldung - programm retten..!!!
 
Zitat:

Zitat von SebastianZ (Beitrag 1367605)
Was steht denn in der USunTimes.pas im interface-teil?

Muss es doch gar nicht :P Dateiname und Form-Instanz-Name sind zwei verschiedene Dinge.
Eine Unit kann uMain heißen aber die Form-Instanz Form1.

Bei ihm hier heißt die Unit wohl USunTimes.pas, die Instanz aber Form1.

dummzeuch 14. Apr 2017 10:09

AW: fehlermeldung - programm retten..!!!
 
Zitat:

Zitat von ann (Beitrag 1367603)
hallo. ich habe nichts am quelltext gerührt, aber ich habe aufeinmal diese komische meldung bekommen:
Delphi-Quellcode:
[dcc32 Fehler] PSunTimes.dpr(12): E2003 Undeklarierter Bezeichner: 'Form1'
und dann öffnet sich diese anwendung:

Delphi-Quellcode:
program PSunTimes;

uses
  Vcl.Forms,
  USunTimes in 'USunTimes.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm1,Form1);
  Application.Run;
end.
kann mir jemand helfen? ich bin anfänger und kann damit nichts anfangen... aber ich will mein programm retten!!!!!!!!!!!!!!!!!!!!!!!
danke.

Normalerweise erzeugt die IDE eine Variablendeklaration wie diese hier für jedes neu angelegte Formular:

Delphi-Quellcode:
unit Unit1;

interface

// ...

type
  TForm1 = class(TForm)
    // ...
  end;

var
  Form1: TForm1;

implementation
//..
Das duerfte in Deinem Fall in der Unit USunTimes sein, die vermutlich das einzige Formular Deines Programms enthaelt.

Im Projekt-Sourcecode wird parallel dazu der von Dir gepostete Code generiert. Dieser sorgt dafuer, dass das Formular erzeugt und angezeigt wird.

In Deinem Fall fehlt die Deklaration der Variablen Form1. Vermutlich hast Du sie versehentlich geloescht oder im Quellcode umbenannt. (Wenn man das Formular per Object-Inspector umbenennt, ändert die IDE normalerweise auch den Code in der Projektdatei.)

SebastianZ 14. Apr 2017 10:13

AW: fehlermeldung - programm retten..!!!
 
Zitat:

Zitat von a.def (Beitrag 1367607)
Zitat:

Zitat von SebastianZ (Beitrag 1367605)
Was steht denn in der USunTimes.pas im interface-teil?

Muss es doch gar nicht :P Dateiname und Form-Instanz-Name sind zwei verschiedene Dinge.
Eine Unit kann uMain heißen aber die Form-Instanz Form1.

Bei ihm hier heißt die Unit wohl USunTimes.pas, die Instanz aber Form1.

Das ist mir schon klar, aber mit dem Interface-Teil sieht man sofort wo das Problem liegt....

a.def 14. Apr 2017 10:20

AW: fehlermeldung - programm retten..!!!
 
Zitat:

Das ist mir schon klar, aber mit dem Interface-Teil sieht man sofort wo das Problem liegt....
Sehe ich irgendwie nicht.

Delphi-Quellcode:
program PSunTimes;

uses
  Vcl.Forms,
  USunTimes in 'USunTimes.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm1,Form1);
  Application.Run;
end
Mehr können wir noch gar nicht sagen, da uns der wichtige Teile (die Unit selber) ja fehlt.

nahpets 14. Apr 2017 10:39

AW: fehlermeldung - programm retten..!!!
 
Poste bitte mal die USunTimes.pas oder hänge das ganze Projekt als ZIP an Deinen Beitrag an.

ann 14. Apr 2017 16:12

AW: fehlermeldung - programm retten..!!!
 
ok leute, ich hab den fehler gefunden:

bei mir sah das irgendwo am anfang des quelltextes so aus:

Delphi-Quellcode:
...

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

implementation

{$R *.dfm}


var
  Form1: TForm1;
  IdHTTP: TIdHTTP;
  ZeitAufgang_Std, ZeitAufgang_Min, ZeitUntergang_Std,
    ZeitUntergang_Min: Integer;
  Sprache: Boolean;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ...
weil ich dachte var ist var egal ob das jetzt vor implementation steht oder nicht und ich es deshalb zusammengepackt habe.

und jetzt läuft es wieder weil ich das wieder so gemacht hab:
Delphi-Quellcode:
...
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


var
  IdHTTP: TIdHTTP;
  ZeitAufgang_Std, ZeitAufgang_Min, ZeitUntergang_Std,
    ZeitUntergang_Min: Integer;
  Sprache: Boolean;

procedure TForm1.FormCreate(Sender: TObject);
begin
...

a.def 14. Apr 2017 16:20

AW: fehlermeldung - programm retten..!!!
 
Wo wir schoneinmal dabei sind: am besten keine globalen Variablen ;)

Besser, aber auch nicht perfekt, so:

Delphi-Quellcode:
...
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    IdHTTP: TIdHTTP;
    ZeitAufgang_Std, ZeitAufgang_Min, ZeitUntergang_Std,
    ZeitUntergang_Min: Integer;
    Sprache: Boolean;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
...
Wenn du die Variablen NUR in dieser Unit brauchst, dann pack sie in private.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:27 Uhr.
Seite 1 von 2  1 2      

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