ich glaube, du hast ein Problem mit dem strcat ... muss da nicht im Dest String genug platz sein ?
wieso kopierst die String nicht einfach wie Delphi Standard zusammen ?
Delphi-Quellcode:
r1 := '';
if( CHECK( m1, FLAG_A ) ) then r1 := 'Alle' else
begin
if( CHECK( m1, FLAG_R ) ) then r1 := r1 + 'R';
if( CHECK( m1, FLAG_W ) ) then r1 := r1 + 'W';
....
end;