Compiler markiert FolgeZeile
-
- 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
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...
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...
-
- 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
So ein verrücktes Verhalten kenne ich von der Delphi-IDE, wenn ein Zeilenumbruch im Quelltext nur aus #10 statt #13#10 besteht.
.
Re: Compiler markiert FolgeZeile
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.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?
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2805
- 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
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
-
- 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
Ich habe mir die Tortoise-SVN heruntergeladen. Aber wie man da jetzt Lazarus-FPC installieren soll, ist mir nicht klar.Michl hat geschrieben: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.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?
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?
-
- Lazarusforum e. V.
- Beiträge: 3177
- 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
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.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.
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
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Re: Compiler markiert FolgeZeile
Weitere Infos gibts auch noch unter http://wiki.lazarus.freepascal.org/Inst ... 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;
-
- 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
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.Michl hat geschrieben:Weitere Infos gibts auch noch unter http://wiki.lazarus.freepascal.org/Inst ... 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).
Re: Compiler markiert FolgeZeile
Mal ne dumme Frage: warum nimmst du dann nicht gleich CodeTyphon? die aktualisieren doch ständig mit fpc 2.7.1?br_klaus hat geschrieben: (wie es zB CodeTyphon macht).
hde
Re: Compiler markiert FolgeZeile
"trunk" das ist die Entwicklerversion, also die aktuellste. Das ist im Moment einfach 2.7.1, die Nummer spielt aber eigentlich keine Rolle.br_klaus hat geschrieben:svn/fpc/trunc.
trunk ist immer die neueste Version und ändert z.T. stündlich.
Re: Compiler markiert FolgeZeile
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!
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 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
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
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
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) 136-mal heruntergeladen
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
-
- 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
Herzlichen Dank!Michl hat geschrieben:So, mein Weg:
.......
Das wars - viel Erfolg!
PS: Ein Update geht dann einfacher - nachzulesen im Wiki
Ich werde es ausprobieren, sobald ich Zeit habe.