Editor und INCLUDE-Dateien

Für Fehler in Lazarus, um diese von anderen verifizieren zu lassen.
Antworten
mansch
Beiträge: 13
Registriert: Fr 11. Jun 2010, 17:19

Editor und INCLUDE-Dateien

Beitrag von mansch »

Hallo,
seit ich eine größeres Projekt zerlegt habe und dazu Codeteile in INCLUDE-Dateien ausgelagert habe, stört mich ein Vorgang, den ich erst jetzt lokalisieren konnte:
Wenn ich ein Prozedur oder Funktion in der INCLUDE-Datei anhänge und z.B.
procedure TfrmXX.ZZZ;
begin
tippe fällt mir auf, dass nicht automatisch wie sonst nach dem <RETURN> ein
end;
angehängt wird. Also tippe ich es ein. Soweit so gut. Kompiliere ich jetzt aber das Projekt, erhalte ich einen Fehler in der PAS-Datei und zwar dieser Art
{$INCLUDE yyy.inc}end;
Also hat der Editor das "end; fälschlich statt in der INCLUDE-Datei hier eingefügt, was ich früher immer für einen Eingabefehler meinerseits (Tastaturmissgriff) hielt.

Jetzt wüsste ich gern, ob auch andere dies Phänomen bestätigen können und wie ich ggf. diesen BUG ??? melden kann.
Danke

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Editor und INCLUDE-Dateien

Beitrag von Christian »

Im Normalfall benutzt man units um programme zu zerlegen, bist du sicher das du includes dafür benutzen möchtest ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

mansch
Beiträge: 13
Registriert: Fr 11. Jun 2010, 17:19

Re: Editor und INCLUDE-Dateien

Beitrag von mansch »

In dem Fall ja.
Welche Vorgehensweise günstiger ist, könnte natürlich diskutiert werden. Aber das ändert doch nichts an diesem Phänomen. Oder?

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Editor und INCLUDE-Dateien

Beitrag von Socke »

mansch hat geschrieben: wie ich ggf. diesen BUG ??? melden kann.

Der Bugtracker befindet sich auf http://bugs.freepascal.org
Dort musst du dich registrieren und anmelden; nach Anmeldung kannst du oben rechts das Projekt "Lazarus" auswählen und dann einen neuen "Eintrag erfassen" anwählen.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Editor und INCLUDE-Dateien

Beitrag von Christian »

Ich weiss nicht ob man das als Bug sehen kann, denn include files kommen in normalen Programmierfällen eigentlich nicht vor sondern eher bei Systemprogrammierung z.b. bei Plattformunterscheidungen. Würd das eher als nicht implementiertes Feature betrachten.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Editor und INCLUDE-Dateien

Beitrag von m.fuchs »

Aber doch nicht nur. Wenn ich mal einen Blick in die StdCtrls werfe, sehe ich jede Menge Includes ohne IfDef. Praktisch alle Implementierungen der Komponenten liegen in einer eigenen Datei. Bei großen Units halte ich das für eine gute Idee der Codeaufteilung.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Editor und INCLUDE-Dateien

Beitrag von theo »

Ich hatte mal einen ähnlichen Bug gemeldet: http://bugs.freepascal.org/view.php?id=23401
Es gibt einige Duplikate.
Diese Sorte Fehler scheint wohl nicht ganz einfach zu lösen zu sein.

mansch
Beiträge: 13
Registriert: Fr 11. Jun 2010, 17:19

Re: Editor und INCLUDE-Dateien

Beitrag von mansch »

Da sich wahrscheinlich wenige mit diesem Problem herumschlagen, habe ich für mich eine Zwischenlösung gefunden, die zumindest die regelmäßigen Fehler (?) umgeht.
=> Lösung 1: Ich erstelle die Funktion/Prozedur auf der PAS-Seite und schiebe sie erst nachträglich in die jeweilige INC-Datei.
=> Lösung 2: Ich füge neue Funktionen/Prozeduren immer vor einer Kommentarzeile ein.
Trotzdem scheint es sich hier um ein tieferliegendes Problem zu handeln, denn ab und zu erscheinen bei Kopiervorgängen die Inhalte an ganz unterschiedlichen Stellen wieder.

Manfred

Antworten