Dein Code ist leider sehr unübersichtlich und unvollständig (User_Rollen fehlt zB). Daher kann ich persönlich da erstmal keinen Fehler erkennen.
Räume doch deinen Code erstmal ordentlich auf und programmiere "ordentlich", wahrscheinlich löst sich das Problem dann von selbst oder du erkennst den Fehler.
1) Du kannst Felder und Methoden in Klassen in gleichen Bereichen zusammenfassen. Wozu verwendest du zig
public
- und
strict private
-Klauseln?
Delphi-Quellcode:
type
TMyClass = class
private
FStringVar: String;
FIntegerVar: Integer;
function PrivateFunction: String;
procedure PrivateMethod(AVar: Integer);
protected
function ProtectedFunction: Boolean;
procedure ProtectedMethod(AVar: Boolean);
public
procedure PublicMethod;
function PublicFunction: Pointer;
published
property StringProperty: String
read FStringVar
write FStringVar;
property IntegerProperty: String
read FIntegerVar
write FIntegerVar;
end;
2) Du brauchst für Properties, die du direkt liest und schreibst und wo sonst nichts weiter passiert keine extra Getter und Setter. (siehe published-Bereich oben)
3) Wozu verwendest du
strict private
für Getter und Setter?
4) Warum verwendest du EINE Stringvariable, um mehrere Werte zu speichern?
User_Neu.User_Norm_Mandanten:=User_Neu.User_Norm_Mandanten+Grid_Norm_Mandanten.Cells[0,I]+','
Verwende doch eine
TStringList?