[Gelöst] TRegExpr Bug

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
laserflor
Beiträge: 8
Registriert: Fr 8. Dez 2017, 20:47

[Gelöst] TRegExpr Bug

Beitrag von laserflor »

Hallo an alle!
Ein neues TRegExpr - Objekt wird mit

Code: Alles auswählen

ModifierI := false;
initialisiert und arbeitet dementsprechend case-sensitive = Groß-/Kleinschreibung wird unterschieden.
Wenn ich im Programm dann

Code: Alles auswählen

ModifierI := true;
setze, funktioniert es case-insensitive (entspricht /i = ignore case).
Allerdings hat es keinen Effekt, wenn ich anschließend ModifierI := false setze.
Einmal ModifierI := true -> immer ModifierI := true ?!
Wenn ich (?-i) oder (?i) in der Expression benutze, funkioniert es tadellos.
Gruß laserflor
Zuletzt geändert von laserflor am Do 2. Jun 2022, 13:52, insgesamt 1-mal geändert.

sstvmaster
Beiträge: 544
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 2.2.4
CPU-Target: 32+64bit
Wohnort: Dresden

Re: TRegExpr Bug

Beitrag von sstvmaster »

Hallo laserflor,

Welche Version von Lazarus/fpc benutzt du?

Mit dem Beispiel bekommst du TRegExpr Version heraus.

Code: Alles auswählen

program Project1;

uses RegExpr;

var
  RegEx: TRegExpr;

begin
  RegEx := TRegExpr.Create;
  WriteLn('TRegExpr version: ', RegEx.VersionMajor,'.',RegEx.VersionMinor);
  RegEx.Free;

  ReadLn;
end. 
Lazarus 2.2.2 (stable) mit fpc 3.2.2:
TRegExpr version: 0.987
Lazarus 2.2.3 (fixes) mit fpc 3.3.1 (trunk/main):
TRegExpr version: 1.155


RegExpr trunk bekommst du hier: https://gitlab.com/freepascal.org/fpc/s ... egexpr/src
(Version 1.155)

RegExpr Beta hier: https://github.com/Alexey-T/TRegExpr
(Version 1.158)

Und hier der Versionsverlauf: https://github.com/Alexey-T/TRegExpr/bl ... istory.txt

LG Maik
LG Maik

Windows 10,
- Lazarus 2.2.4 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.5 (fixes) + fpc 3.3.1 (main/trunk)

Socke
Lazarusforum e. V.
Beiträge: 3105
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: TRegExpr Bug

Beitrag von Socke »

sstvmaster hat geschrieben:
Di 31. Mai 2022, 23:18
Lazarus 2.2.2 (stable) mit fpc 3.2.2:
TRegExpr version: 0.987
Lazarus 2.2.3 (fixes) mit fpc 3.3.1 (trunk/main):
TRegExpr version: 1.155
Die relevante Korrektur dürfte wohl folgende sein:
TRegExpr/History.txt hat geschrieben: v. 1.150 2021.02.08
-=- (-) Setters of Modifier* properties now invalidate the opcode.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

laserflor
Beiträge: 8
Registriert: Fr 8. Dez 2017, 20:47

Re: TRegExpr Bug

Beitrag von laserflor »

Danke für die schnellen Antworten,
da ich Lazarus auf mehreren PC installiert habe, tue ich mich mit Updates immer etwas schwer (Never touch a running system).
Ich werde die neuere regexpr.pas auf alle PC kopieren und den Rest so lassen.

Edit: Es funktioniert jetzt :D
Die einzige Schwierigkeit, die ich hatte: Kann man Lazarus veranlassen, die .ppu neu zu erstellen ? Aufräumen und kompilieren tut das nicht.
Erst wenn ich die Datei ins Projekt lade, wird sie neu kompiliert.

PascalDragon
Beiträge: 670
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: TRegExpr Bug

Beitrag von PascalDragon »

laserflor hat geschrieben:
Mi 1. Jun 2022, 09:35
Die einzige Schwierigkeit, die ich hatte: Kann man Lazarus veranlassen, die .ppu neu zu erstellen ? Aufräumen und kompilieren tut das nicht.
Erst wenn ich die Datei ins Projekt lade, wird sie neu kompiliert.
Die Unit regexpr ist Teil von FPC, nicht von Lazarus (das gilt auch, wenn FPC durch Lazarus bereitgestellt wird wie unter Windows). Lazarus kompiliert Units die durch FPC bereitgestellt werden nie von selbst.
FPC Compiler Entwickler

Antworten