Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi dpr E2029 . erwartet aber ) gefunden (https://www.delphipraxis.net/204882-dpr-e2029-erwartet-aber-gefunden.html)

Int3g3r 9. Jul 2020 16:38

Delphi-Version: 10.3 Rio

dpr E2029 . erwartet aber ) gefunden
 
Guten Tag,

Ich erhalte beim compillieren die Fehlermeldung:

Zitat:

[dcc32 Fehler] TelSpick.dpr(15): E2029 '.' erwartet, aber ')' gefunden
Delphi-Quellcode:
program TelSpick;

uses
  Vcl.Forms,
  form_main in 'form_main.pas' {TelSpick},
  dm_main in 'dm_main.pas' {dmMain: TDataModule},
  unit_ini in 'unit_ini.pas';

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TdmMain, dmMain);
  Application.CreateForm(TTelSpick, TelSpick);
  Application.Run;
end.
Zeile 15:
Delphi-Quellcode:
Application.CreateForm(TTelSpick, TelSpick);



Form-TelSpick:
Delphi-Quellcode:
unit form_main;

interface

uses //viele uses, daher hier nicht mitkopiert

type
  TTelSpick = class(TForm)
    pnlRight: TPanel;
    pnlBottom: TPanel;
    pnlLeft: TPanel;
    Splitter1: TSplitter;
    cxGrid1DBTableView1: TcxGridDBTableView;
    cxGrid1Level1: TcxGridLevel;
    cxGrid1: TcxGrid;
    cxGrid1DBTableView1ID: TcxGridDBColumn;
    cxGrid1DBTableView1TITEL: TcxGridDBColumn;
    btnClose: TButton;
    btnKundeErfassen: TButton;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  TelSpick: TTelSpick;

implementation

{$R *.dfm}

uses dm_main;

end.
Ich finde den Fehler nicht. Daher findet den Fehler jemand ?

TiGü 9. Jul 2020 16:51

AW: dpr E2029 . erwartet aber ) gefunden
 
Zu wenige Informationen, um den Fehler zu finden. So sieht alles gut aus.
Hast du mal den Rechner neugestartet und bist einen Kaffee holen gegangen?

Int3g3r 9. Jul 2020 17:12

AW: dpr E2029 . erwartet aber ) gefunden
 
Zitat:

Zitat von TiGü (Beitrag 1469232)
Zu wenige Informationen, um den Fehler zu finden. So sieht alles gut aus.
Hast du mal den Rechner neugestartet und bist einen Kaffee holen gegangen?

Ich werde gleich den Rechner mal neu starten. Habe bereits ein anderes Projekt geöffnet dieses lässt sich ohne probleme kompillieren.
Dazu habe ich nun das Form "TelSpick" aus dem Projekt entfernt. Nun kann ich das Projekt kompillieren.

Wenn ich nun aber versuche das Form "TelSpick" zu dem Projekt hinzuzufügen erhalte ich die Meldung:

Zitat:

Das Projekt erhlält bereits ein Modul bwz. ein Formular mit der Bezeichnung TelSpick
Nun habe ich im ganzen Projekt nach "TelSpick" gesucht. Das einzige "Element" das auch TelSpick benannt ist ist das "TelSpick.dpr".
Delphi-Quellcode:
program TelSpick;

Anscheinend liegt es am Form-Namen. Habe diesen auf "frmTelSpick" geändert und nun geht es.
Der Form-Name beeinflusst den Variablennamen des Forms.

Delphi-Quellcode:
// Compillieren schlägt fehlt
var
  TelSpick: TTelSpick;

// Compillieren funktioniert
var
  frmTelSpick: TfrmTelSpick;
Die Fehlermeldung verwirrt aber mehr als das diese hilfreich ist.

Delphi.Narium 9. Jul 2020 17:32

AW: dpr E2029 . erwartet aber ) gefunden
 
Das Programm heißt TelSpick und die Variabel für das Formular vom Typ TTelSpick heißt TelSpick.

Da hast Du schlicht einen Namenskonflikt.

Mache mal aus TTelSpick TfmTelSpick und aus TelSpick : TTelSpick analog dazu fmTelSpick : TfmTelSpick.

Das Problem lässt sich auch an dieser Zeile
Delphi-Quellcode:
form_main in 'form_main.pas' {TelSpick},
erkennen. Normalerweise steht dort
Delphi-Quellcode:
Variabelname: TDerVariabel
, wie ganz gut bei
Delphi-Quellcode:
dm_main in 'dm_main.pas' {dmMain: TDataModule},
zu sehen.

Weder IDE noch Compiler kommen mit dem von Dir gewählten Konstrukt zurecht, so dass sie keine "vernünftige" Möglichkeit zur Fehlerbehebung anbieten können.

Sprich: Die Fehlermeldung weist nicht auf die tatsächliche Fehlerursache hin.

hoika 10. Jul 2020 07:33

AW: dpr E2029 . erwartet aber ) gefunden
 
Hallo,
Zitat:

Das Projekt erhlält bereits ein Modul bwz. ein Formular mit der Bezeichnung TelSpick
Das Projekt (die Projektdatei) ist auch ein Modul.
Also ist die Fehlermeldung korrekt und "vernünftig".

PS:
Ich hätte da auch erst mal überall gesucht und wäre nicht auf das Problem gestoßen ;)

Sherlock 10. Jul 2020 08:11

AW: dpr E2029 . erwartet aber ) gefunden
 
Ich hänge noch beim T am Anfang einer Variablen...:lol:
Wie krass sich Namenskonventionen ins Hirn brennen können, hätte ich nicht gedacht.

Sherlock


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:25 Uhr.

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