Archive: more than 8192 (long string )?


more than 8192 (long string )?
dear all,
is there string larger than 8192 length special build?

i have string more than 8192 length and i would print it in the details bar.
how could i retrieve more than 8192 length in one string?

and if i can't how this string can be split into 2 or 3 strings?


I think you can set the size of strings when you compile NSIS yourself. The pre-compiled build uses string length 1024, the long-string build uses 8192. For more you'd require your own custom build...

But how in the world do you want to show such an enormous string in the details bar?


1. how it could be done?
2. DetailPrint $0

Originally posted by LoRd_MuldeR
I think you can set the size of strings when you compile NSIS yourself. The pre-compiled build uses string length 1024, the long-string build uses 8192. For more you'd require your own custom build...

But how in the world do you want to show such an enormous string in the details bar?
[B]

I know how to print strings using DetailPrint, but printing such a long string makes no sens to me, because most of the string would be truncate anyway.

Compile instructions are here:
http://nsis.sourceforge.net/Docs/AppendixG.html

You'd have to adjust NSIS_MAX_STRLEN to whatever you need...


ok this is my fault
i want to do the following:

nsExec::ExecToStack '"$Temp\osql.exe" -S ${ServerName} -d ${Database} -U ${User} -P ${Password} -i "$TEMP\sqls\${SqlFile}" -n'
Pop $1
DetailPrint "$1"
Pop $1
DetailPrint "$1"

now some time the SQL server return large string (result for example)
i must see this result and make it pass into function to make sure from it.

imagine if i have table of 30000 record and i want to update it
the result would be something like:
.
.
.
(0 rows affected)
(0 rows affected)
(0 rows affected)
(0 rows affected)
.
.
.

--- around 30000 line ----


dose it sens now?
if you have another solution plz tell me!


Originally posted by LoRd_MuldeR
I know how to print strings using DetailPrint, but printing such a long string makes no sens to me, because most of the string would be truncate anyway.

Compile instructions are here:
http://nsis.sourceforge.net/Docs/AppendixG.html

You'd have to adjust NSIS_MAX_STRLEN to whatever you need...

I see.

But still "DetailPrint $1" with a string that is 8192 chars in length (or even more) doesn't make sens. The string will be truncated and you'll only see a part of it in the log...


right click and copy to clip board will solve this.

see the attached file, this is the log after the installation finish
see line '956' the string interrupted!! the string start at line '817'

what do you think now?

Originally posted by LoRd_MuldeR
I see.

But still "DetailPrint $1" with a string that is 8192 chars in length (or even more) doesn't make sens. The string will be truncated and you'll only see a part of it in the log...
[B]

Hmm, I see.

Well, if you need to handle strings longer than 8192 chars, then you'll have to compile NSIS with NSIS_MAX_STRLEN set to whatever you need...

There is no other way, I think :confused: