Es kompiliert nicht alles

Für Fragen rund um die Ide und zum Debugger

Re: Es kompiliert nicht alles

Beitragvon Mathias » 27. Feb 2014, 22:39 Re: Es kompiliert nicht alles

Ich habe das Ganze jetzt mit SuSE-Linux in der VirtualBox getestet, das gleiche Problem.

Scheinbar wird Unit2 trotz Änderung nicht neu kompiliert.

Wen ich die Ausgabe vom Compiler leses, da wird unit2.pas compiliert.
Mit Shift-F9 wird der Fehler dann korrigiert

Wen ich das mache compiliert er bei mir auch richtig.

Ich habe verschiedene Lazarus-Versionen probiert, immer das gleiche.
Sogar LazAndroid4, auf dem FreePascal 2.7.1 installiert ist.

Code: Alles auswählen
[TMainIDE.DoRunProject] A
TMainIDE.DoInitProjectRun A True 0
TMainIDE.DoInitProjectRun B
TMainIDE.CheckIfProjectNeedsCompilation  Src has changed Project /home/tux/Public/DATEN/Programmierung/Lazarus/FehlerTest/unit2.pas
TCompiler.Compile WorkingDir="/home/tux/Public/DATEN/Programmierung/Lazarus/FehlerTest/" CompilerFilename="/usr/bin/fpc" CompilerParams=" -MObjFPC -Scghi -Os3 -Xs -vewnhi -Fi/home/tux/Public/DATEN/Programmierung/Lazarus/FehlerTest/lib/i386-linux -Fl/opt/gnome/lib -Fu/usr/lib/lazarus/lcl/units/i386-linux/gtk2 -Fu/usr/lib/lazarus/lcl/units/i386-linux -Fu/usr/lib/lazarus/components/lazutils/lib/i386-linux -Fu/usr/lib/lazarus/packager/units/i386-linux -Fu/home/tux/Public/DATEN/Programmierung/Lazarus/FehlerTest/ -FU/home/tux/Public/DATEN/Programmierung/Lazarus/FehlerTest/lib/i386-linux/ -l -dLCL -dLCLgtk2 project1.lpr"
[TCompiler.Compile] CmdLine="/usr/bin/fpc  -MObjFPC -Scghi -Os3 -Xs -vewnhi -Fi/home/tux/Public/DATEN/Programmierung/Lazarus/FehlerTest/lib/i386-linux -Fl/opt/gnome/lib -Fu/usr/lib/lazarus/lcl/units/i386-linux/gtk2 -Fu/usr/lib/lazarus/lcl/units/i386-linux -Fu/usr/lib/lazarus/components/lazutils/lib/i386-linux -Fu/usr/lib/lazarus/packager/units/i386-linux -Fu/home/tux/Public/DATEN/Programmierung/Lazarus/FehlerTest/ -FU/home/tux/Public/DATEN/Programmierung/Lazarus/FehlerTest/lib/i386-linux/ -l -dLCL -dLCLgtk2 project1.lpr"
Hint: Start of reading config file /etc/fpc.cfg
Hint: End of reading config file /etc/fpc.cfg
Free Pascal Compiler version 2.6.2 [2013/03/17] for i386
Copyright (c) 1993-2012 by Florian Klaempfl and others
Target OS: Linux for i386
Compiling project1.lpr
Compiling unit2.pas
Compiling resource /home/tux/Public/DATEN/Programmierung/Lazarus/FehlerTest/lib/i386-linux/project1.or
Linking project1
/usr/bin/ld: warning: link.res contains output sections; did you forget -T?
42 lines compiled, 7.6 sec
2 hint(s) issued
[TCompiler.Compile] end
TMainIDE.DoInitProjectRun ProgramFilename=/home/tux/Public/DATEN/Programmierung/Lazarus/FehlerTest/project1
[TDebugger.SetFileName] "/home/tux/Public/DATEN/Programmierung/Lazarus/FehlerTest/project1"
[TMainIDE.DoRunProject] B
[TMainIDE.DoRunProject] END
PR: /home/tux/Public/DATEN/Programmierung/Lazarus/FehlerTest/project1
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4107
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon wp_xyz » 27. Feb 2014, 22:49 Re: Es kompiliert nicht alles

Komischerweise, wie Du schon schriebst, nur mit inline!

Und auch nur, wenn man etwas an der inline-Routine ändert - Änderungen außerhalb führen zur Neuübersetzung.

Ich denke, das wäre schon einen Bugreport wert. Aber dann mit komplettem Projekt inkl. lfm, lpi und lpr (als zip), man sollte niemandem zumuten, sich das Test-Projekt mit Copy & Paste zusammenklicken zu müssen.
wp_xyz
 
Beiträge: 2569
Registriert: 8. Apr 2011, 08:01

Beitragvon Mathias » 27. Feb 2014, 23:11 Re: Es kompiliert nicht alles

Ich denke, das wäre schon einen Bugreport wert. Aber dann mit komplettem Projekt inkl. lfm, lpi und lpr (als zip), man sollte niemandem zumuten, sich das Test-Projekt mit Copy & Paste zusammenklicken zu müssen.

So wie es aussieht, hat Michel die Arbeit mit dem Zip schon abgenommen. :)

Was ich noch festgestellt habe, es ist Egal ob ich inline im interface oder/und im implementation Teil schreibe.

Ich wollte das Ganze unter Delphi Testen, aber mein altes Delphi 6 kennt kein inline.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4107
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Michl » 28. Feb 2014, 08:48 Re: Es kompiliert nicht alles

Willst Du den Eintrag machen, soll ich?
Code: Alles auswählen
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 
Michl
 
Beiträge: 2260
Registriert: 19. Jun 2012, 11:54
OS, Lazarus, FPC: Win7 Laz 1.7 Trunk FPC 3.1.1 Trunk | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon wp_xyz » 28. Feb 2014, 09:05 Re: Es kompiliert nicht alles

Ging das an mich? Wenn ja: mach du - danke!
wp_xyz
 
Beiträge: 2569
Registriert: 8. Apr 2011, 08:01

Beitragvon Michl » 28. Feb 2014, 13:50 Re: Es kompiliert nicht alles

wp_xyz hat geschrieben:Ging das an mich? Wenn ja: mach du - danke!
Hatte zwar Finder Mathias gemeint, trotzdem danke der Nachfrage - red ja auch gern mit Dir :)

Habs jetzt trotzdem gemeldet: http://bugs.freepascal.org/view.php?id=25797
Code: Alles auswählen
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 
Michl
 
Beiträge: 2260
Registriert: 19. Jun 2012, 11:54
OS, Lazarus, FPC: Win7 Laz 1.7 Trunk FPC 3.1.1 Trunk | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon Mathias » 28. Feb 2014, 18:00 Re: Es kompiliert nicht alles

Habs jetzt trotzdem gemeldet:

Danke, da ich kein englisch kann währe es sowieso schwierig gewesen.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4107
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Mathias » 20. Mär 2014, 19:47 Re: Es kompiliert nicht alles

Noch ein kleine Nachtrag:

Wen ich diese Kompilerschalter stelle, dann kompiliert er ohne Fehler {$inline off} , nur macht dann inline keinen Sinn mehr, wen es ausgeschaltet ist.

PS: Hat es schon ein Echo vom FPC-Team gegeben ?
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4107
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Michl » 20. Mär 2014, 22:54 Re: Es kompiliert nicht alles

Eine rege Diskussion gibt es schon - ist auch nicht der erste Bugeintrag dazu - ein performanten Lösungsansatz leider noch nicht. Siehe Bugeintrag...
Code: Alles auswählen
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 
Michl
 
Beiträge: 2260
Registriert: 19. Jun 2012, 11:54
OS, Lazarus, FPC: Win7 Laz 1.7 Trunk FPC 3.1.1 Trunk | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon wp_xyz » 20. Mär 2014, 22:55 Re: Es kompiliert nicht alles

Hat es schon ein Echo vom FPC-Team gegeben

Kannste selbst prüfen, indem du oben auf den Link in Michls Posting vom 28.2. klickst.

Ich weiß, du hast geschrieben, dass du nicht gut Englisch kannst, aber vielleicht wäre das eine gute Gelegenheit, zumindest die Grundkenntnisse wieder aufzufrischen. Ich meine jetzt nicht "pauken", sondern einfach "nachdenken", man muss ja nicht jedes Wort verstehen: in dem Feld "Status" steht "confirmed" - selbst nur mit "Lazarus"-Englisch solltest du verstehen können, was das heißt...
Zuletzt geändert von wp_xyz am 20. Mär 2014, 23:20, insgesamt 3-mal geändert.
wp_xyz
 
Beiträge: 2569
Registriert: 8. Apr 2011, 08:01

Beitragvon Michl » 20. Mär 2014, 23:05 Re: Es kompiliert nicht alles

...fast ne Punktlandung :D ...
Code: Alles auswählen
type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 
Michl
 
Beiträge: 2260
Registriert: 19. Jun 2012, 11:54
OS, Lazarus, FPC: Win7 Laz 1.7 Trunk FPC 3.1.1 Trunk | 
CPU-Target: 32Bit/64bit
Nach oben

Beitragvon wp_xyz » 20. Mär 2014, 23:16 Re: Es kompiliert nicht alles

Du hattest mal wieder die Nase vorn...
wp_xyz
 
Beiträge: 2569
Registriert: 8. Apr 2011, 08:01

Beitragvon Mathias » 4. Mai 2014, 20:05 Re: Es kompiliert nicht alles

So wie es aussieht, ist das Problem gelöst, mit dem neusten Lazarus 1.3 tritt der Fehler nicht mehr auf.

Obwohl hier bei Resulotion open steht.

http://bugs.freepascal.org/view.php?id=25797
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4107
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Mathias » 25. Jun 2014, 19:15 Re: Es kompiliert nicht alles

Habe ich da wieder ein Bug mit inline gefunden

Dieser Code:
Code: Alles auswählen
procedure TBackGround.Draw; inline;
begin
  inherited Draw(Matrix);
end;

macht nicht das gleiche wie dieser:
Code: Alles auswählen
procedure TBackGround.Draw;
begin
  inherited Draw(Matrix);
end;


Ohne Inline funktioniert mein Programm.


Der Auschnitt ist aus einem Code mit mehreren Nachkommen eine Classe.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4107
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Christian » 26. Jun 2014, 05:05 Re: Es kompiliert nicht alles

Danke für die Info, die gehört aber in nen Bugreport. Wenn die hier jemand wahrnimmt ists Zufall.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Christian
 
Beiträge: 6101
Registriert: 21. Sep 2006, 06:51
Wohnort: Dessau
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z) | 
CPU-Target: AVR,ARM,x86(-64)
Nach oben

» Weitere Beiträge siehe nächste Seite »
VorherigeNächste

Zurück zu Benutzung der IDE



Wer ist online?

Mitglieder in diesem Forum: Google [Bot], Mathias und 2 Gäste

porpoises-institution
accuracy-worried