[Gelöst] Typkonvertierungsfehler nur im Report

14. Februar 2008 11:46

Ich habe folgenden Code

Code:
//ÄnderungstextFüllen(VAR i : Integer;Vortext : Text[30];AlterWert : Text[80];NeuerWert : Text[80])

Änderungstext[i] :=
  COPYSTR(STRSUBSTNO('%1 %2',Vortext,AlterWert),1,MAXSTRLEN(Änderungstext[i]));


Diesen habe ich aus einer CodeUnit kopiert und in einen Report geschrieben. In der CodeUnit gibt es beim kompilieren keine Probleme. Beim Report bekomme ich die Fehlermeldung:

Eine Typkonvertierung kann nicht durchgeführt werden, da eine der Seiten einen ungültigen Typ hat

Char := Text


Änderungstext ist aber vom Typ Text.. und überhaupt habe ich gar keine Variable vom Typ Char angelegt.

Weiß jemand woran das liegen könnte?
Zuletzt geändert von Heike Bennerscheid am 14. Februar 2008 12:11, insgesamt 1-mal geändert.

14. Februar 2008 11:50

Zwei dumme Gegenfragen:
Wenn du die Zuweisung Änderungstext[i] := ... auskommentierst, klappt die Kompilierung?
Wird der Paramter NeuerWert in deiner Funktion überhaupt verwendet?

Und dann ins Blaue geraten: Ersetze mal MAXSTRLEN(Änderungstext[i]) durch MAXSTRLEN(Änderungstext)

14. Februar 2008 11:55

Wenn ich das auskommentiere klappt es bzw. es kommt ein ähnlicher Fehler (Text := Char) wo auch Änderungstext[i] steht.

Der Parameter wird verwendet vor dem obigen Code

Code:
IF (AlterWert = '') OR (AlterWert = NeuerWert) THEN BEGIN
  EXIT;
END;


Wenn ich MAXSTRLEN(Änderungstext[i]) durch MAXSTRLEN(Änderungstext) ersetze kommt immernoch der gleiche Fehler.

14. Februar 2008 11:58

Ah, dann hätt ich eine Idee:
Kann es sein, dass du vergessen hast, deiner Variable Änderungstext Dimensions (Eigenschaft der Variable) mitzugeben?
So referenziert nämlich Textvariable[x] auf den x-ten Buchstaben - und das ist ein Char!

14. Februar 2008 12:11

Jaaaaaa das ist es. Wenn man noch nie mit Arrays zu tun hatte und nur im Kurs drüber gelesen hat dann denkt man an sowas gar nicht. Aber jetzt wo du es erwähnst dämmert es mir wieder das da sowas war mit dieser Einstellung.

Danke dir für deine Hilfe.