Thema: Delphi Regex geht nicht mehr?

Einzelnen Beitrag anzeigen

Chefx

Registriert seit: 13. Jun 2009
Ort: Radebeul
241 Beiträge
 
Turbo Delphi für Win32
 
#1

Regex geht nicht mehr?

  Alt 30. Jul 2009, 22:13
Hallo ich bin es mal wieder!

Delphi-Quellcode:

...
uses perlregex;

{$R *.dfm}

function verarbeitung(code:array of string;pos:array of integer):string;
var
  i:integer;
begin
for i := 0 to length(code) do
      result := result + '|' + code[i] + ',';
end;

function regl(subj, expr: string): string;
var
  code:array of string;
  pos:array of integer;
begin
  with TPerlRegEx.Create(nil) do
    begin
      RegEx := expr;
      Subject := subj;

      if Match = false then
        begin //
            repeat //
              code[SubExpressionCount] := SubExpressions[SubExpressionCount]; //geändert!
            until MatchAgain // aber wo is hier der fehler?
        end; //
        result := verarbeitung(code,pos); //
    end;
end;

procedure TForm3.Button1Click(Sender: TObject);
begin
edit1.Text:=regl(edit2.Text,'<*>'); //<-------- Fehler
end;

...
So also mein Problem ist das wenn der Reguläre ausdruck korrekt ist macht er ein "Zugriffsverletzung" in der Klasse EAccessViolation
Gestern abend ging es noch und wo ich dann danach noch was geändert hab (siehe oben)
war es tot!

hab schon die ganze zeit gesucht und hab das auch noch die funktion verklienert aber es geht immer noch nicht!Wo ist der Fehler(hab schon mir eine kleine Fehlerquelle erahnt)?

danke für antworten!

(ich hab garantiert was falsch gemacht )
ein Sprichwort für Programmierer:
"Viele wege fürn zur EXE, aber ob sie funktioniert ist die andere Frage."
schau mal bei www.xlite.de.tc vorbei
  Mit Zitat antworten Zitat