Compiler markiert FolgeZeile

Für Fragen rund um die Ide und zum Debugger
Antworten
br_klaus
Beiträge: 244
Registriert: Do 21. Jan 2010, 22:33
OS, Lazarus, FPC: Windows Vista (L 0.9.31 FPC 2.5.1)
CPU-Target: 32Bit
Wohnort: z.z. Brasilien, sonst 82335 Berg-Leoni (südlich von München)

Compiler markiert FolgeZeile

Beitrag von br_klaus »

Habe mal wieder ein Problem mit meinem Lazarus.(Habe noch immer die neueste snapshot-Version vom 1.9.2013 mit lazarus 1.1 und FPC 2.7.1 - ist da nie ein Update mit Lazarus 1.3 geplant?). Es scheint plötzlich verrückt zu spielen.

Die Zeile, die im Programmcode markiert wird, ist nicht die aktuelle Zeile, sondern die darauf folgende. Aber das geschieht nur in der Unit, die ich hauptsächlich gebrauche. Nicht in der Programmdatei (*.lpr), und auch nicht in einer Include-datei (*.inc), die aus dieser Unit heraus eingebunden wird.
Kann mir einer erklären, wie so etwas passieren kann?

Die Folge davon ist, daß ich bei einem bestimmten Prozeduraufruf (aus einem asm-Block heraus) die Fehlermeldung erhalte: Adresse kann nicht erreicht werden (oder so ähnlich). Aber das nur, solange ich das Programm ohne Haltepunkt an dieser Stelle laufen lasse. Setze ich den Haltepunkt, dann wird die Prozedur nach dem Anhalten und wieder F9 drücken problemlos angesprungen und auch ausgeführt.
Kann das daran liegen, daß ich viel gemischt mit AssemblerCode arbeite (damit es schneller geht) und daß dadurch der Compiler irgendwie durcheinander gerät?
Ich kann den Programmcode gerne hochposten, aber das wird wohl nicht viel bringen.

Das einfachste wird wohl sein, nach und nach alles in Include-Dateien auszulagern und dann das Programm zu kompilieren...

baumina
Beiträge: 152
Registriert: Mo 3. Feb 2014, 14:07
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Compiler markiert FolgeZeile

Beitrag von baumina »

So ein verrücktes Verhalten kenne ich von der Delphi-IDE, wenn ein Zeilenumbruch im Quelltext nur aus #10 statt #13#10 besteht.
.

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Compiler markiert FolgeZeile

Beitrag von Michl »

br_klaus hat geschrieben:Habe noch immer die neueste snapshot-Version vom 1.9.2013 mit lazarus 1.1 und FPC 2.7.1 - ist da nie ein Update mit Lazarus 1.3 geplant?
Da das Erstellen eines Snapshots auch mit zeitlich hohem Aufwand verbunden ist, kann man nicht erwarten, dass dies ständig jemand in seiner Freizeit macht (zumal es dafür kein positives Feedback gibt). Lad Dir doch die FPC- und Lazarus -Trunc-Versionen (z.B. mittels TortoiseSVN) und bau Dir die jeweils aktuelle Version - ist zur Zeit problemlos möglich. Siehe http://wiki.lazarus.freepascal.org/Getting_Lazarus/de Wenn Du damit nicht zurecht kommst, kannst Du hier ja gern nachfragen.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

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: Compiler markiert FolgeZeile

Beitrag von m.fuchs »

Oder in diesem Falle würde ich einfach die 1.2 nehmen. Die ist aktueller als ein 1.1 Snapshot. Und sicherlich auch stabiler.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

br_klaus
Beiträge: 244
Registriert: Do 21. Jan 2010, 22:33
OS, Lazarus, FPC: Windows Vista (L 0.9.31 FPC 2.5.1)
CPU-Target: 32Bit
Wohnort: z.z. Brasilien, sonst 82335 Berg-Leoni (südlich von München)

Re: Compiler markiert FolgeZeile

Beitrag von br_klaus »

Michl hat geschrieben:
br_klaus hat geschrieben:Habe noch immer die neueste snapshot-Version vom 1.9.2013 mit lazarus 1.1 und FPC 2.7.1 - ist da nie ein Update mit Lazarus 1.3 geplant?
Da das Erstellen eines Snapshots auch mit zeitlich hohem Aufwand verbunden ist, kann man nicht erwarten, dass dies ständig jemand in seiner Freizeit macht (zumal es dafür kein positives Feedback gibt). Lad Dir doch die FPC- und Lazarus -Trunc-Versionen (z.B. mittels TortoiseSVN) und bau Dir die jeweils aktuelle Version - ist zur Zeit problemlos möglich. Siehe http://wiki.lazarus.freepascal.org/Getting_Lazarus/de Wenn Du damit nicht zurecht kommst, kannst Du hier ja gern nachfragen.


Ich habe mir die Tortoise-SVN heruntergeladen. Aber wie man da jetzt Lazarus-FPC installieren soll, ist mir nicht klar.
Außerdem gibt es da ja keinerlei Möglichkeit, zwischen verschiedenen Versionen von FPC (2.6.x und 2.7.x) auszuwählen. Ich nehme an, daß das nur 2.6.4 sein wird.

Daß jemand ständig die snapshots aktualisiert, das verlangt ja niemand. Mich wundert nur, daß für Lazaurs1.3 und FPC 2.6.x die win32-Versionen und Versionen für Mac und Linux fast wöchentlich aktualisiert werden, nur die für FPC 2.7.1 win32 nicht. Da ist immer das letzte Datum 1.9.2013.
Außerdem könnte ich mir denken, wenn man für die snapshots Zip-Dateien nimmt (zB 7z), dann würde das Erstellen des Programms dem User überlassen. Er bräuchte dann nur entsprechende bat-Dateien auszuführen. (wie es zB CodeTyphon macht). Wäre das immer noch mit hohem Aufwand verbunden?

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: Compiler markiert FolgeZeile

Beitrag von Socke »

br_klaus hat geschrieben:Ich habe mir die Tortoise-SVN heruntergeladen. Aber wie man da jetzt Lazarus-FPC installieren soll, ist mir nicht klar.
Außerdem gibt es da ja keinerlei Möglichkeit, zwischen verschiedenen Versionen von FPC (2.6.x und 2.7.x) auszuwählen. Ich nehme an, daß das nur 2.6.4 sein wird.

Im Gegensatz zu Delphik, sind Lazarus und Free Pascal (relativ) unabhängige Programme. Das heißt: Du musst dir zuerst den Free Pascal Compiler installieren, bevor du Lazarus übersetzen kannst.

Die weitere Vorgehensweise um Lazarus zu installieren, ist in der verlinkten Wiki-Seite beschrieben. Wenn das unverständlich ist, bitte hier melden, damit jemand die Chance hat, einen besseren Text zu schreiben.

Wenn du mehrere Compiler(-Versionen) installiert hast, kannst du auswählen, welcher verwendet werden soll: siehe Make Parameters
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Compiler markiert FolgeZeile

Beitrag von Michl »

Weitere Infos gibts auch noch unter http://wiki.lazarus.freepascal.org/Installing_Lazarus/de, wobei die englische Seite aktueller ist. Willst Du FPC 2.7.1 unter Win7 bauen, kann ich Dir auch mein Vorgehen schildern, da die Infos im Wiki nicht ganz aktuell sind (da ich generell etwas von der üblichen Vorgehensweise abweiche, habe ich mir bisher nicht getraut, das Wiki entsprechend zu ändern).

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

br_klaus
Beiträge: 244
Registriert: Do 21. Jan 2010, 22:33
OS, Lazarus, FPC: Windows Vista (L 0.9.31 FPC 2.5.1)
CPU-Target: 32Bit
Wohnort: z.z. Brasilien, sonst 82335 Berg-Leoni (südlich von München)

Re: Compiler markiert FolgeZeile

Beitrag von br_klaus »

Michl hat geschrieben:Weitere Infos gibts auch noch unter http://wiki.lazarus.freepascal.org/Installing_Lazarus/de, wobei die englische Seite aktueller ist. Willst Du FPC 2.7.1 unter Win7 bauen, kann ich Dir auch mein Vorgehen schildern, da die Infos im Wiki nicht ganz aktuell sind (da ich generell etwas von der üblichen Vorgehensweise abweiche, habe ich mir bisher nicht getraut, das Wiki entsprechend zu ändern).

Ja, bitte, tue das. Ich komme mit den Wiki-Angaben nicht klar. Und die Links, die die angeben, da bekommt man nur FPC 2.6.x oder noch frühere Versionen. Und wo 2.7.1 angegeben wird (als developer version), da wird beim Aufruf mit (Tortoise)SVN auch keine extra Angabe (2_7_1 oder ähnlich) gemacht, sondern nur allgemein svn/fpc/trunc.

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: Compiler markiert FolgeZeile

Beitrag von hde »

br_klaus hat geschrieben: (wie es zB CodeTyphon macht).

Mal ne dumme Frage: warum nimmst du dann nicht gleich CodeTyphon? die aktualisieren doch ständig mit fpc 2.7.1?
hde

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

Re: Compiler markiert FolgeZeile

Beitrag von theo »

br_klaus hat geschrieben:svn/fpc/trunc.


"trunk" das ist die Entwicklerversion, also die aktuellste. Das ist im Moment einfach 2.7.1, die Nummer spielt aber eigentlich keine Rolle.
trunk ist immer die neueste Version und ändert z.T. stündlich.

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Compiler markiert FolgeZeile

Beitrag von Michl »

So, mein Weg:
Installiere TortioseSVN. Da man zum Erstellen einer FPC-Trunc-Version die letzte stabile FPC-Version braucht, habe ich mir angewöhnt, diese aus der letzten stabilen Lazarus-Version zu benutzen. Daher entferne am besten alle Lazarus-Versionen, die Du zur Zeit installiert hast (notfalls per Hand noch die Restdaten (ohne eigene Projekte) per Hand löschen und notfalls mit Regedit nach "Lazarus" suchen und alle Einträge entfernen) und installiere unter C:\Lazarus die aktuelle Lazarus-Version (z.Zt. 1.2 mit FPC 2.6.2) von der Lazarus-Homepage.

Wenn Du diese erfolgreich installiert hast, erstellst Du ein Verzeichnis C:\FreePascal und kopierst die beigefügte "create.bat" in das Verzeichnis (habe ich eben zusammengestellt und probelaufen lassen, sollte also funktionieren - schien für mich einfacher, als jeden Schritt einzeln zu erklären, ansonsten siehe Wiki). Gehe in das Verzeichnis und starte create.bat, jetzt werden die FPC-Trunc und Lazarus-Trunc-Versionen runtergeladen und gebaut.

Solltest Du andere Verzeichnisse benutzen wollen, musst Du diese zuvor in der "create.bat" anpassen!

Code: Alles auswählen

set LazPath=C:\Lazarus
set OwnLazPath=C:\FreePascal

Sollte FPC/Lazarus nicht ordentlich gebaut werden, empfiehlt es sich die "create.bat" mittels cmd zu starten (cmd ausführen, in das Verzeichnis (cd c:\FreePascal) gehen und create eingeben), dann schließt sich das Konsolefenster nicht und man kann den Fehlertext lesen!

Jetzt hast Du zwei Versionen von Lazarus installiert, die aktuelle 1.2 und die aktuelle Entwicklerversion 1.3 mit der FPC-Entwicklerversion 2.7.1. Damit Du beide Versionen auf dem Rechner nutzen kannst, erstellst Du am besten noch ein Verknüpfung mit Laz 1.3 (Desktop -> Rechtsklick -> Neu -> Verknüpfung und gibst dort

Code: Alles auswählen

C:\FreePascal\Laz\startlazarus.exe --pcp=C:\FreePascal\Configs
ein und benennst diese z.B. Lazarus 1.3).
Jetzt kannst Du Lazarus 1.3 starten. Es wird sich ein Fenster öffnen, wo div. fehlende Pfade angemahnt werden:
Der Compilerpfad wäre: "C:\FreePascal\FPC\bin\i386-win32\ppc386.exe"
FPC-Source-Pfad wäre: "C:\FreePascal\FPC"
Als Debugger kannst Du den vom aktuellen Lazarus nehmen: "C:\Lazarus\mingw\i386-win32\bin\gdb.exe"

Das wars - viel Erfolg!

PS: Ein Update geht dann einfacher - nachzulesen im Wiki
Dateianhänge
create.bat
(825 Bytes) 122-mal heruntergeladen

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

br_klaus
Beiträge: 244
Registriert: Do 21. Jan 2010, 22:33
OS, Lazarus, FPC: Windows Vista (L 0.9.31 FPC 2.5.1)
CPU-Target: 32Bit
Wohnort: z.z. Brasilien, sonst 82335 Berg-Leoni (südlich von München)

Re: Compiler markiert FolgeZeile

Beitrag von br_klaus »

Michl hat geschrieben:So, mein Weg:
.......
Das wars - viel Erfolg!

PS: Ein Update geht dann einfacher - nachzulesen im Wiki

Herzlichen Dank!

Ich werde es ausprobieren, sobald ich Zeit habe.

Antworten