Buenos días.
Delphi compila sin errores y genera ejecutable, pero este ultimo no funciona. (imagen1). Si muestra la longitud correcta del string.(imagen2).
FPC muestra la longitud maxima del tipo string (255) pero no la longitud real de la cadena almacenada. (imagen3).
Desde mi punto de vista como aficionado, esto es una deficiencia en fpc y en menor medida en delphi.
Si la variable no es inicializada, se entiende logicamente que la longitud es la maxima, pero si le das un valor, la longitud de la variable deberia ser el tamaño de la cadena asignada.
Delphi si añade el valor correcto a la cadena, pero no da error al compilar y genera ejecutable que no funciona.
he realizado estas pruevas en java y python con resultados identicos, ambos generan error por intentar acceder a una posicion mayor que la longitud de la cadena.