Página 1 de 1

Error generación de Cadena original

Publicado: Mié Mar 25, 2020 3:39 pm
por emarquez
Estoy desarrollando una aplicación en C# que me está tronando al momento de la generación de la cadena original

string cadOrig = CadenaOriginal();

Al ejecutar este método de la librería, aún estando en modo depuración, la aplicación se detiene y no me manda ningún error, ni en la bitácora, CFDI o TIMBRE, copie el TIMBRE.ini y la timbró sin problemas, ¿cómo puedo resolver esta incidencia?

Re: Error generación de Cadena original

Publicado: Mié Mar 25, 2020 3:49 pm
por Dado
CadenaOriginal() regsesa un apuntador a la cadena, para poderlo asignar primero debes llenar la variable con suficiente espacio para almacenar la informacion

Re: Error generación de Cadena original

Publicado: Mié Mar 25, 2020 3:51 pm
por emarquez
¿A que se refiere con suficiente espacio? no puede ser una variable de tipo string?

Re: Error generación de Cadena original

Publicado: Mié Mar 25, 2020 4:29 pm
por Dado
En pseudocodigo seria algo asi :

cadOrig = "xxxxxxxxxxxxxyyyyyyyyyyyyyzzzzzzzz......." (mil caracteres o mas, necesario para alojar el espacio de memoria)

cadOrig = CadenaOriginal()

Re: Error generación de Cadena original

Publicado: Mié Mar 25, 2020 4:52 pm
por emarquez
De que tipo de variable debe ser? Como puedo obtener el error que me da al generar la cadena?

Re: Error generación de Cadena original

Publicado: Mié Mar 25, 2020 5:43 pm
por Dado
Debe ser tipo string

No hay error al generar la cadena, hay error al *asignar* la cadena a la variable, esto debido a que la variable no tiene espacio disponible en memoria hasta que la inicializas con 1000 o mas caracteres

Nota que tambien puedes darle la vuelta al asunto, al finalizar el timbrado la libreria graba en el archivo ini los valores del timbre, incluyendo la cadena original

Re: Error generación de Cadena original

Publicado: Mié Mar 25, 2020 5:54 pm
por emarquez
Tratando de usar los siguiente métodos
Console.Write(CadenaOriginal());
Console.WriteLine();
StringBuilder str = new StringBuilder();
str.Append(CadenaOriginal());
string cadOrig = "";
cadOrig = CadenaOriginal();
Con ninguno funciona, la aplicación de detiene y no manda ningún error

Adjunto ejemplo de Timbre.ini
[Parametros]
XMLDestino=\\192.168.0.100\FCN0020538_202003251851.xml
PAC=ECODEX
Mensajes=ON

[ECODEX]
Servicio=Produccion
RFC=***********
TransaccionID=0000

Re: Error generación de Cadena original

Publicado: Mié Mar 25, 2020 5:58 pm
por Dado
OK, para no estar dando brincos aqui y alla, intenta las dos soluciones de mi mensaje anterior (i.e. pre-popular una variable string o tomar el valor del ini)

Re: Error generación de Cadena original

Publicado: Jue Mar 26, 2020 8:45 am
por Jesus Castelo

Re: Error generación de Cadena original

Publicado: Jue Mar 26, 2020 8:53 am
por emarquez
Muchísimas gracias Jesus Castelo, esta solución es precisa y ya no tuve ningún problema, gracias! :mrgreen: