Problemas con string de mas de 255 caracteres...
Hola amigos del foro.:p
Saludos desde Colombia. Mi problema es el siguiente: tengo que pasarle una cadena de mas de 255 caracteres a un procedimiento en delphi 7.0, pero me sale un error que la cadena de caracteres es mayor de 255 caracteres...:confused: entonces cambié el tipo de datos del parametro de string a ansistring y sigue pasando lo mismo, según la ayuda de delphi 7.0 este tipo de datos recibe mas de 255 caracteres, como se muestra en la tabla que copié de la ayuda: String types Type Maximum length Memory required Used for *ShortString 255 characters 2 to 256 bytes backward compatibility *AnsiString ~2^31 characters 4 bytes to 2GB 8-bit (ANSI) characters, DBCS ANSI, MBCS ANSI, etc. *WideString ~2^30 characters 4 bytes to 2GB Unicode characters; multi-user servers and multi-language applications Que tengo que hacer para que me funcione el procedimiento y el compilador no me bote ningún error...:confused: Les agradezco me puedan ayudar y perdonen si la pregunta es un poco tonta...:D GRACIAS....:p |
Por qué no pones el código que utilizas yo acabo de hacer la prueba con una String y le paso 367 caracteres y no me da error y el procedimiento los recibe y muestra todos.
Supongo que estás utilizando ShortSgring. Porque si utilizas String, puedes pasarle el ancho que quieras, ya que su límite es la memoria del sistema. Un Saludo. |
¡Hola a todos!
Muy posiblemente, el problema se debe a que has especificado una expresión String literal contínua de más de 255 caracteres (lo cual es inválido). Para resolverlo, sepárala en varias partes concatenadas con el operador +. En Delphi, encontrarás más información al respecto bajo la ayuda del error String literals may have at most 255 elements. Espero esto sea de utilidad, seguimos en contacto. Al González :). Sentido es aquel que llora por un amigo, sensible es aquel que comprende a un amigo. |
Ejemplo del código fuente
La function que estoy utilizando es la siguiente:
Código:
function buscar(Titulo, Sql_Select, Sql_From, Sql_Where, Ord1, Ord2, Ord3, bsc1, bsc2, bsc3 : string; opc : byte = 0; temp : boolean = false; campo_temp : byte = 0) : string; Código:
fbuscar_basica.buscar('Listado de Inscripciones - ' + Logica.anno_inscripciones,'SELECT INSC_NUM NUMERO, INSC_NUM_DOC IDENTIFICACION, INSC_PRIMER_NOMBRE PRIMER_NOMBRE, INSC_SEGUNDO_NOMBRE SEGUNDO_NOMBRE, INSC_PRIMER_APELLIDO PRIMER_APELLIDO, INSC_SEGUNDO_APELLIDO SEGUNDO_APELLIDO, NIV_ACAD_DESCRIPCION NIVEL_ACADEMICO, GRA_NOMBRE GRADO, JOR_DESCRIPCION JORNADA','FROM INSCRIPCIONES, GRADOS_ESPECIALIDAD GE, GRADOS G, NIVELES_ACADEMICOS, JORNADAS','WHERE (INSC_ESTAB_CODIGO_DANE = ' + copy(Logica.codane_establecimiento,1,12) + Logica.anno_inscripciones + ') AND (INSC_ANNO = ' + Logica.anno_inscripciones + ') AND (INSC_GRA_ESP_CODIGO = GE.GRA_ESP_CODIGO) AND (GE.GRA_CODIGO = G.GRA_CODIGO) AND (G.GRA_NIV_ACAD_CODIGO = NIV_ACAD_CODIGO) AND (INSC_JOR_CODIGO = JOR_CODIGO)','ORDER BY INSC_NUM','ORDER BY INSC_NUM_DOC','ORDER BY INSC_PRIMER_NOMBRE, INSC_SEGUNDO_NOMBRE, INSC_PRIMER_APELLIDO, INSC_SEGUNDO_APELLIDO','Número','Identificación','Nombres'); Cuando la estoy invocando, mandandole el valor en el parametro Sql_Select, es que me sale el error.... |
El problema se debe a lo que te comentó Al y él ya te dijo como
solucionarlo. // Saludos |
Gracias por la atención prestada....
Gracias amigos del foro....:p
El que sabe, sabe y el que no es secretaria....:rolleyes: Ja, ja, ja, ja, ja:D Se solucionó el problema... Como regalo por haberme colaborado, Aquí les mando la siguiente caricatura: http://www.mundofred.com/caricaturas/condon36.html Todas las caricaturas las encuentran aquí: http://www.mundofred.com/caricaturas.html Me parece un buen mensaje contra el virus del sida, divulgenlo... Gracias... |
La franja horaria es GMT +2. Ahora son las 04:57:46. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi