<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: DCL error: string too long on input in Visual LISP, AutoLISP and General Customization Forum</title>
    <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/dcl-error-string-too-long-on-input/m-p/6943514#M122425</link>
    <description>&lt;P&gt;Try this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;FONT size="3"&gt;(defun c:test ( / row1 d o id rtn RetVal)
 (setq row1
       (list
	"InfoSec : dialog"
	"{"
	"  key=\"Title\";"
	"  label=\"INFORMATION\";"
	"  : column {"
	"    : row {"
	"      : text {"
	"        label=\" \";"
	"        width=4;"
	"      }"
	"      : text {"
	"        label=\"ID prod.\";"
	"        width=10;"
	"      }"
	"      : text {"
	"        label=\"Sct#\";"
	"        width=1;"
	"       }"
	"       : text {"
	"         label=\"Technology\";"
	"         width=21;"
	"       }"
	"       : text {"
	"         label=\"Prod. model\";"
	"         width=20;"
	"       }"
	"       : text {"
	"         label=\"Hight\";"
	"         width=3;"
	"       }"
	"       : text {"
	"         label=\"Level\";"
	"         width=5;"
	"       }"
	"       : text {label=\"MDT\";"
	"         width=5;"
	"       }"
	"     }"
	"     spacer;"
	"     : row {"
	"       fixed_width=true;"
	"       alignment=centered;"
	"       : button {"
	"         key=\"Save\";"
	"         label=\"&amp;amp;Save\";"
	"         is_default=true;"
	"       }"
	"     }"
	"     : row {"
	"       : column {"
	"         fixed_width=true;"
	"         : row {"
	"           : column {"
	"             spacer;"
	"             : image_button {"
	"               key=\"Select\";"
	"               width=3;"
	"               height=1.4;"
	"               color=15;"
	"             }"
	"             spacer;"
	"           }"
	"           : column {"
	"             spacer;"
	"             : text {"
	"               label=\"Select block\";"
	"             }"
	"             spacer;"
	"           }"
	"         }"
	"       }"
	"     }"
	"   }"
	"   spacer;"
	"   : row {"
	"     fixed_width = true;"
	"     alignment = centered;"
	"     : button {"
	"       key = \"OK\";"
	"       label = \"&amp;amp;OK\";"
	"       is_default = true;"
	"       width = 12;"
	"       fixed_width = true;"
	"     }"
	"     : button {"
	"       key = \"Cancel\";"
	"       label = \"&amp;amp;Cancel\";"
	"       is_cancel = true;"
	"       width = 12;"
	"       fixed_width = true;"
	"     }"
	"   }"
	"}"
      )
 );setq
 (setq d (vl-filename-mktemp nil nil ".dcl"))
 (setq o (open d "w"))
 (mapcar (function (lambda (x)(write-line x o))) row1)
 (close o)
 (setq id (load_dialog d))
 
 (cond
  ((not (new_dialog "InfoSec" id))
   (alert (strcat "ERROR: Open dialog fail.\n\n"
		  "[ " d " ]"))
   ;;exit
  )
  (T
   (action_tile "Save" "(done_dialog 2)")
   (action_tile "OK" "(done_dialog 1)")
   (action_tile "Cancel" "(done_dialog 0)")
   
   (setq rtn (start_dialog))
   
   (unload_dialog id)
   (cond
    ((= rtn 0) ;;cancel
     (setq RetVal nil)
     ;;etc
    ) 
    ((= rtn 1) ;;OK
     (setq RetVal T)
     ;;etc
    )
    ((= rtn 2) ;;Save
     (alert "User pulse button save")
     (setq RetVal T)
     ;;etc
    )
   )
  )
 );cond
 (vl-file-delete d)
 RetVal
);defun

(princ)&lt;/FONT&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I do not understand this part:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;FONT size="3" color="#FF0000"&gt;(cond&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3" color="#FF0000"&gt; ((eq rtn 3)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3" color="#FF0000"&gt;  (RefillDP)
 )
 ((and radio1 (eq rtn 3))&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3" color="#FF0000"&gt;  (IS)		
 );eq
);cond&lt;/FONT&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 14 Mar 2017 01:16:59 GMT</pubDate>
    <dc:creator>joselggalan</dc:creator>
    <dc:date>2017-03-14T01:16:59Z</dc:date>
    <item>
      <title>DCL error: string too long on input</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/dcl-error-string-too-long-on-input/m-p/6940887#M122419</link>
      <description>&lt;P&gt;Hi everyone.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am having problems with a dialog box that I am creating.&lt;BR /&gt;The visual lisp editor gives me this : &lt;STRONG&gt;error: string too long on input&lt;/STRONG&gt;:&lt;BR /&gt;If I remove two rows, it will work, but actually I need to have 16 rows...&lt;BR /&gt;I have seen many dialog boxes with more information than mine and I do not understand how it is possible to achieve this.&lt;/P&gt;&lt;P&gt;Thank you in advance for any help.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;p.s. I did not put the action_tile yet for the purpose of getting help here before. I will do this latter.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;(defun c:test ( / d o)
(if	(and
	(setq d (vl-filename-mktemp nil nil ".dcl"))
	(setq o (open d "w"))
	(write-line
	(strcat "InfoSec:dialog{key=\"Title\";label=\"INFORMATION\";
:column{
:row{
:text{label=\" \";width=4;}
:text{label=\"ID prod.\";width=10;}
:text{label=\"Sct#\";width=1;}
:text{label=\"Technology\";width=21;}
:text{label=\"Prod. model\";width=20;}
:text{label=\"Hight\";width=3;}
:text{label=\"Level\";width=5;}
:text{label=\"MDT\";width=5;}}

:row{
:radio_button{key=\"radio1\";}
:edit_box {key=\"eid1\";edit_width=7;}
:edit_box {key=\"esc1\";edit_width=3;}
:edit_box {key=\"ete1\";width=20;}
:edit_box {key=\"emo1\";width=18;}
:edit_box {key=\"eaz1\";edit_width=4;}
:edit_box {key=\"eha1\";edit_width=7;}
:edit_box {key=\"emd1\";edit_width=3;}}

:row{
:radio_button{key=\"radio2\";}
:edit_box{key=\"pid1\";edit_width=7;}
:edit_box{key=\"psc1\";edit_width=3;}
:edit_box{key=\"pte1\";width=20;}
:edit_box{key=\"pmo1\";width=18;}
:edit_box{key=\"paz1\";edit_width=4;}
:edit_box{key=\"pha1\";edit_width=7;}
:edit_box{key=\"pmd1\";edit_width=3;}}

:row{
:radio_button{key=\"radio3\";}
:edit_box {key=\"eid2\";edit_width=7;}
:edit_box {key=\"esc2\";edit_width=3;}
:edit_box {key=\"ete2\";width=20;}
:edit_box {key=\"emo2\";width=18;}
:edit_box {key=\"eaz2\";edit_width=4;}
:edit_box {key=\"eha2\";edit_width=7;}
:edit_box {key=\"emd2\";edit_width=3;}}

:row{
:radio_button{key=\"radio4\";}
:edit_box{key=\"pid2\";edit_width=7;}
:edit_box{key=\"psc2\";edit_width=3;}
:edit_box{key=\"pte2\";width=20;}
:edit_box{key=\"pmo2\";width=18;}
:edit_box{key=\"paz2\";edit_width=4;}
:edit_box{key=\"pha2\";edit_width=7;}
:edit_box{key=\"pmd2\";edit_width=3;}}

:row{
:radio_button{key=\"radio5\";}
:edit_box {key=\"eid3\";edit_width=7;}
:edit_box {key=\"esc3\";edit_width=3;}
:edit_box {key=\"ete3\";width=20;}
:edit_box {key=\"emo3\";width=18;}
:edit_box {key=\"eaz3\";edit_width=4;}
:edit_box {key=\"eha3\";edit_width=7;}
:edit_box {key=\"emd3\";edit_width=3;}}

:row{
:radio_button{key=\"radio6\";}
:edit_box{key=\"pid3\";edit_width=7;}
:edit_box{key=\"psc3\";edit_width=3;}
:edit_box{key=\"pte3\";width=20;}
:edit_box{key=\"pmo3\";width=18;}
:edit_box{key=\"paz3\";edit_width=4;}
:edit_box{key=\"pha3\";edit_width=7;}
:edit_box{key=\"pmd3\";edit_width=3;}}

spacer;
:row{fixed_width=true;alignment=centered;
:button{key=\"Save\";label=\"&amp;amp;Save\";is_default=true;}}

:row{:column{fixed_width=true;
:row{:column{spacer;
:image_button{key=\"Select\";width=3;height=1.4;color=15;}
spacer;}
:column{spacer;
:text{label=\"Select block\";}
spacer;}}}}

	}
	spacer;
	: row { fixed_width = true; alignment = centered;
	: button { key = \"OK\"; label = \"&amp;amp;OK\"; is_default = true; width = 12; fixed_width = true;}
	: button { key = \"Cancel\"; label = \"&amp;amp;Cancel\"; is_cancel = true;  width = 12; fixed_width = true;}
	}
	}"
	);strcat
	o
	);write-line
	(not (close o))
	);and
	(progn
		(if	(and (&amp;lt; 0 (setq id (load_dialog d)))
			(new_dialog "InfoSec" id)
			);and
			(progn
				(action_tile "OK" "(done_dialog 1)")		
				(action_tile "Cancel" "(done_dialog 0)")	
				(setq rtn (start_dialog))
				(unload_dialog id)
				(vl-file-delete d)
			);progn
			(progn
				(unload_dialog id)
				(vl-file-delete d)
			);progn
		);if
		(cond
			((eq rtn 3)
				(RefillDP)
			)
			((and radio1 (eq rtn 3))
				(IS)		
			);eq
		);cond
	);progn
);if
);defun&lt;/PRE&gt;</description>
      <pubDate>Mon, 13 Mar 2017 00:52:43 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/dcl-error-string-too-long-on-input/m-p/6940887#M122419</guid>
      <dc:creator>msarqui</dc:creator>
      <dc:date>2017-03-13T00:52:43Z</dc:date>
    </item>
    <item>
      <title>Re: DCL error: string too long on input</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/dcl-error-string-too-long-on-input/m-p/6940916#M122420</link>
      <description>&lt;P&gt;I don't think I've ever seen a "string too long" error before.&lt;/P&gt;
&lt;P&gt;But your (strcat ............) does go on and on and on and on like Billy Joel.&lt;/P&gt;
&lt;P&gt;How about if you use more (write-lines)? &amp;nbsp;You know, like a bite at a time rather than treating the gullet like a coal chute.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;One technique that might save you time recoding is to..,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000FF"&gt;(setq wlist&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000FF"&gt;&amp;nbsp; (list&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "blah"&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "blah"&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "blah"&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000FF"&gt;&amp;nbsp; )&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000FF"&gt;)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; and then&lt;/P&gt;
&lt;P&gt;(mapcar '(lambda (x)(write-line x o)) wlist)&lt;/P&gt;</description>
      <pubDate>Mon, 13 Mar 2017 01:29:21 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/dcl-error-string-too-long-on-input/m-p/6940916#M122420</guid>
      <dc:creator>john.uhden</dc:creator>
      <dc:date>2017-03-13T01:29:21Z</dc:date>
    </item>
    <item>
      <title>Re: DCL error: string too long on input</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/dcl-error-string-too-long-on-input/m-p/6940971#M122421</link>
      <description>&lt;P&gt;Agreed.&amp;nbsp; I was just coming back to post when I saw your response.&amp;nbsp; The write-line that holds the strcat&amp;nbsp;was also too long, and you likely hit a limit to the number of characters.&amp;nbsp; Break the write-line (and strcat) up into more manageable&amp;nbsp;chunks.&amp;nbsp; I've done it crudely below, with minimal change to msarqui's code, but it does the job.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;------------&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;(defun c:test ( / d o)&lt;BR /&gt;(if&amp;nbsp;(and&lt;BR /&gt;&amp;nbsp;(setq d (vl-filename-mktemp nil nil ".dcl"))&lt;BR /&gt;&amp;nbsp;(setq o (open d "w"))&lt;BR /&gt;&amp;nbsp;(write-line&lt;BR /&gt;&amp;nbsp;(strcat "InfoSec:dialog{key=\"Title\";label=\"INFORMATION\";&lt;BR /&gt;:column{&lt;BR /&gt;:row{&lt;BR /&gt;:text{label=\" \";width=4;}&lt;BR /&gt;:text{label=\"ID prod.\";width=10;}&lt;BR /&gt;:text{label=\"Sct#\";width=1;}&lt;BR /&gt;:text{label=\"Technology\";width=21;}&lt;BR /&gt;:text{label=\"Prod. model\";width=20;}&lt;BR /&gt;:text{label=\"Hight\";width=3;}&lt;BR /&gt;:text{label=\"Level\";width=5;}&lt;BR /&gt;:text{label=\"MDT\";width=5;}}&lt;/P&gt;
&lt;P&gt;:row{&lt;BR /&gt;:radio_button{key=\"radio1\";}&lt;BR /&gt;:edit_box {key=\"eid1\";edit_width=7;}&lt;BR /&gt;:edit_box {key=\"esc1\";edit_width=3;}&lt;BR /&gt;:edit_box {key=\"ete1\";width=20;}&lt;BR /&gt;:edit_box {key=\"emo1\";width=18;}&lt;BR /&gt;:edit_box {key=\"eaz1\";edit_width=4;}&lt;BR /&gt;:edit_box {key=\"eha1\";edit_width=7;}&lt;BR /&gt;:edit_box {key=\"emd1\";edit_width=3;}}&lt;/P&gt;
&lt;P&gt;:row{&lt;BR /&gt;:radio_button{key=\"radio2\";}&lt;BR /&gt;:edit_box{key=\"pid1\";edit_width=7;}&lt;BR /&gt;:edit_box{key=\"psc1\";edit_width=3;}&lt;BR /&gt;:edit_box{key=\"pte1\";width=20;}&lt;BR /&gt;:edit_box{key=\"pmo1\";width=18;}&lt;BR /&gt;:edit_box{key=\"paz1\";edit_width=4;}&lt;BR /&gt;:edit_box{key=\"pha1\";edit_width=7;}&lt;BR /&gt;:edit_box{key=\"pmd1\";edit_width=3;}}&lt;/P&gt;
&lt;P&gt;:row{&lt;BR /&gt;:radio_button{key=\"radio3\";}&lt;BR /&gt;:edit_box {key=\"eid2\";edit_width=7;}&lt;BR /&gt;:edit_box {key=\"esc2\";edit_width=3;}&lt;BR /&gt;:edit_box {key=\"ete2\";width=20;}&lt;BR /&gt;:edit_box {key=\"emo2\";width=18;}&lt;BR /&gt;:edit_box {key=\"eaz2\";edit_width=4;}&lt;BR /&gt;:edit_box {key=\"eha2\";edit_width=7;}&lt;BR /&gt;:edit_box {key=\"emd2\";edit_width=3;}}&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;"&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;);strcat&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;o&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;);write-line&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;(write-line&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp;(strcat "&lt;/STRONG&gt;&lt;BR /&gt;:row{&lt;BR /&gt;:radio_button{key=\"radio4\";}&lt;BR /&gt;:edit_box{key=\"pid2\";edit_width=7;}&lt;BR /&gt;:edit_box{key=\"psc2\";edit_width=3;}&lt;BR /&gt;:edit_box{key=\"pte2\";width=20;}&lt;BR /&gt;:edit_box{key=\"pmo2\";width=18;}&lt;BR /&gt;:edit_box{key=\"paz2\";edit_width=4;}&lt;BR /&gt;:edit_box{key=\"pha2\";edit_width=7;}&lt;BR /&gt;:edit_box{key=\"pmd2\";edit_width=3;}}&lt;/P&gt;
&lt;P&gt;:row{&lt;BR /&gt;:radio_button{key=\"radio5\";}&lt;BR /&gt;:edit_box {key=\"eid3\";edit_width=7;}&lt;BR /&gt;:edit_box {key=\"esc3\";edit_width=3;}&lt;BR /&gt;:edit_box {key=\"ete3\";width=20;}&lt;BR /&gt;:edit_box {key=\"emo3\";width=18;}&lt;BR /&gt;:edit_box {key=\"eaz3\";edit_width=4;}&lt;BR /&gt;:edit_box {key=\"eha3\";edit_width=7;}&lt;BR /&gt;:edit_box {key=\"emd3\";edit_width=3;}}&lt;/P&gt;
&lt;P&gt;:row{&lt;BR /&gt;:radio_button{key=\"radio6\";}&lt;BR /&gt;:edit_box{key=\"pid3\";edit_width=7;}&lt;BR /&gt;:edit_box{key=\"psc3\";edit_width=3;}&lt;BR /&gt;:edit_box{key=\"pte3\";width=20;}&lt;BR /&gt;:edit_box{key=\"pmo3\";width=18;}&lt;BR /&gt;:edit_box{key=\"paz3\";edit_width=4;}&lt;BR /&gt;:edit_box{key=\"pha3\";edit_width=7;}&lt;BR /&gt;:edit_box{key=\"pmd3\";edit_width=3;}}&lt;/P&gt;
&lt;P&gt;spacer;&lt;BR /&gt;:row{fixed_width=true;alignment=centered;&lt;BR /&gt;:button{key=\"Save\";label=\"&amp;amp;Save\";is_default=true;}}&lt;/P&gt;
&lt;P&gt;:row{:column{fixed_width=true;&lt;BR /&gt;:row{:column{spacer;&lt;BR /&gt;:image_button{key=\"Select\";width=3;height=1.4;color=15;}&lt;BR /&gt;spacer;}&lt;BR /&gt;:column{spacer;&lt;BR /&gt;:text{label=\"Select block\";}&lt;BR /&gt;spacer;}}}}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;spacer;&lt;BR /&gt;&amp;nbsp;: row { fixed_width = true; alignment = centered;&lt;BR /&gt;&amp;nbsp;: button { key = \"OK\"; label = \"&amp;amp;OK\"; is_default = true; width = 12; fixed_width = true;}&lt;BR /&gt;&amp;nbsp;: button { key = \"Cancel\"; label = \"&amp;amp;Cancel\"; is_cancel = true;&amp;nbsp; width = 12; fixed_width = true;}&lt;BR /&gt;&amp;nbsp;}&lt;BR /&gt;&amp;nbsp;}"&lt;BR /&gt;&amp;nbsp;);strcat&lt;BR /&gt;&amp;nbsp;o&lt;BR /&gt;&amp;nbsp;);write-line&lt;BR /&gt;&amp;nbsp;(not (close o))&lt;BR /&gt;&amp;nbsp;);and&lt;BR /&gt;&amp;nbsp;(progn&lt;BR /&gt;&amp;nbsp;&amp;nbsp;(if&amp;nbsp;(and (&amp;lt; 0 (setq id (load_dialog d)))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(new_dialog "InfoSec" id)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;);and&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(progn&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(action_tile "OK" "(done_dialog 1)")&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(action_tile "Cancel" "(done_dialog 0)")&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(setq rtn (start_dialog))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(unload_dialog id)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(vl-file-delete d)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;);progn&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(progn&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(unload_dialog id)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(vl-file-delete d)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;);progn&lt;BR /&gt;&amp;nbsp;&amp;nbsp;);if&lt;BR /&gt;&amp;nbsp;&amp;nbsp;(cond&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;((eq rtn 3)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(RefillDP)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;((and radio1 (eq rtn 3))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(IS)&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;);eq&lt;BR /&gt;&amp;nbsp;&amp;nbsp;);cond&lt;BR /&gt;&amp;nbsp;);progn&lt;BR /&gt;);if&lt;BR /&gt;);defun&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Mar 2017 02:21:13 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/dcl-error-string-too-long-on-input/m-p/6940971#M122421</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-03-13T02:21:13Z</dc:date>
    </item>
    <item>
      <title>Re: DCL error: string too long on input</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/dcl-error-string-too-long-on-input/m-p/6942250#M122422</link>
      <description>&lt;P&gt;Hi guys, thanks for your help.&lt;BR /&gt;I am trying to do what John said, but without success. Could you guide me please?&lt;BR /&gt;Here is what&amp;nbsp;I did. I am trying with only 2 rows for tests. I am having &lt;STRONG&gt;** bad argument type: stringp nil&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;(defun c:test ( / row1 d o)
(setq row1 (list
": row {					"
": radio_button {key = \"radio1\";}		"
": edit_box { key = \"eid1\" ;edit_width = 7;}	"
": edit_box { key = \"esc1\" ;edit_width = 3;}	"
": edit_box { key = \"ete1\" ;width = 20;}	"
": edit_box { key = \"emo1\" ;width = 18;}	"
": edit_box { key = \"eaz1\" ;edit_width = 4;}	"
": edit_box { key = \"eha1\" ;edit_width = 7;}	"
": edit_box { key = \"emd1\" ;edit_width = 3;}	"
"}						"

": row {					"
": radio_button {key = \"radio2\";}		"
": edit_box {key = \"pid1\" ;edit_width = 7;}	"
": edit_box {key = \"psc1\" ;edit_width = 3;}	"
": edit_box {key = \"pte1\" ;width = 20;}	"
": edit_box {key = \"pmo1\" ;width = 18;}	"
": edit_box {key = \"paz1\" ;edit_width = 4;}	"
": edit_box {key = \"pha1\" ;edit_width = 7;}	"
": edit_box {key = \"pmd1\" ;edit_width = 3;}	"
"}						"
));setq

(if	(and
	(setq d (vl-filename-mktemp nil nil ".dcl"))
	(setq o (open d "w"))
	(write-line
	(strcat "InfoSec:dialog{key=\"Title\";label=\"INFORMATION\";
:column{

:row{
:text{label=\" \";width=4;}
:text{label=\"ID prod.\";width=10;}
:text{label=\"Sct#\";width=1;}
:text{label=\"Technology\";width=21;}
:text{label=\"Prod. model\";width=20;}
:text{label=\"Hight\";width=3;}
:text{label=\"Level\";width=5;}
:text{label=\"MDT\";width=5;}}

"(mapcar '(lambda (x)(write-line x o)) row1)"

spacer;
:row{fixed_width=true;alignment=centered;
:button{key=\"Save\";label=\"&amp;amp;Save\";is_default=true;}}

:row{:column{fixed_width=true;
:row{:column{spacer;
:image_button{key=\"Select\";width=3;height=1.4;color=15;}
spacer;}
:column{spacer;
:text{label=\"Select block\";}
spacer;}}}}

	}
	spacer;
	: row { fixed_width = true; alignment = centered;
	: button { key = \"OK\"; label = \"&amp;amp;OK\"; is_default = true; width = 12; fixed_width = true;}
	: button { key = \"Cancel\"; label = \"&amp;amp;Cancel\"; is_cancel = true;  width = 12; fixed_width = true;}
	}
	}"
	);strcat
	o
	);write-line
	(not (close o))
	);and
	(progn
		(if	(and (&amp;lt; 0 (setq id (load_dialog d)))
			(new_dialog "InfoSec" id)
			);and
			(progn
				(action_tile "OK" "(done_dialog 1)")		
				(action_tile "Cancel" "(done_dialog 0)")	
				(setq rtn (start_dialog))
				(unload_dialog id)
				(vl-file-delete d)
			);progn
			(progn
				(unload_dialog id)
				(vl-file-delete d)
			);progn
		);if
		(cond
			((eq rtn 3)
				(RefillDP)
			)
			((and radio1 (eq rtn 3))
				(IS)		
			);eq
		);cond
	);progn
);if
);defun&lt;/PRE&gt;</description>
      <pubDate>Mon, 13 Mar 2017 14:53:54 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/dcl-error-string-too-long-on-input/m-p/6942250#M122422</guid>
      <dc:creator>msarqui</dc:creator>
      <dc:date>2017-03-13T14:53:54Z</dc:date>
    </item>
    <item>
      <title>Re: DCL error: string too long on input</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/dcl-error-string-too-long-on-input/m-p/6942384#M122423</link>
      <description>&lt;P&gt;Short on time today to look at this much, but offhand I'd be suspicious of the&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;"(mapcar '(lambda (x)(write-line x o)) row1)"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;line in the midst of one of your strcats.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;lt;edit&amp;gt;&lt;/P&gt;
&lt;P&gt;I don't mean the line itself is wrong, just in the context of a strcat it looks suspicious.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Mar 2017 15:41:12 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/dcl-error-string-too-long-on-input/m-p/6942384#M122423</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-03-13T15:41:12Z</dc:date>
    </item>
    <item>
      <title>Re: DCL error: string too long on input</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/dcl-error-string-too-long-on-input/m-p/6943372#M122424</link>
      <description>There are a couple things you can try...&lt;BR /&gt;&lt;BR /&gt;When beginning a new line for the STRCAT, enclose these new lines with quotes&lt;BR /&gt;[I made this a habit after working with MODEMACRO]:&lt;BR /&gt;&lt;BR /&gt;(write-line (strcat&lt;BR /&gt;"InfoSec:dialog{key=\"Title\";label=\"INFORMATION\"; "&lt;BR /&gt;":column{ "&lt;BR /&gt;":row{ "&lt;BR /&gt;":text{label=\" \";width=4;} "&lt;BR /&gt;etc...&lt;BR /&gt;))&lt;BR /&gt;&lt;BR /&gt;Next, one can considerably shorten the character count of the&lt;BR /&gt;DCL definition by using constants.&lt;BR /&gt;//&lt;BR /&gt;// Constants&lt;BR /&gt;tex04 :text {width=4;}&lt;BR /&gt;tex10 :text {width=10;}&lt;BR /&gt;edi07 :edit_box{edit_width=7;}&lt;BR /&gt;edi03 :edit_box{edit_width=3;}&lt;BR /&gt;//&lt;BR /&gt;&lt;BR /&gt;Therefore:&lt;BR /&gt; :text{label=\" \";width=4;}&lt;BR /&gt; :edit_box {key=\"eid1\";edit_width=7;}&lt;BR /&gt;Becomes:&lt;BR /&gt; :tex04 {label=\" \"}&lt;BR /&gt; :edi07 {key=\"eid1\";}&lt;BR /&gt;&lt;BR /&gt;Be careful when adding comments during a write-line action.&lt;BR /&gt;They will need to be on a line all by itself.&lt;BR /&gt;&lt;BR /&gt;???&lt;BR /&gt;</description>
      <pubDate>Mon, 13 Mar 2017 22:29:12 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/dcl-error-string-too-long-on-input/m-p/6943372#M122424</guid>
      <dc:creator>scot-65</dc:creator>
      <dc:date>2017-03-13T22:29:12Z</dc:date>
    </item>
    <item>
      <title>Re: DCL error: string too long on input</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/dcl-error-string-too-long-on-input/m-p/6943514#M122425</link>
      <description>&lt;P&gt;Try this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;FONT size="3"&gt;(defun c:test ( / row1 d o id rtn RetVal)
 (setq row1
       (list
	"InfoSec : dialog"
	"{"
	"  key=\"Title\";"
	"  label=\"INFORMATION\";"
	"  : column {"
	"    : row {"
	"      : text {"
	"        label=\" \";"
	"        width=4;"
	"      }"
	"      : text {"
	"        label=\"ID prod.\";"
	"        width=10;"
	"      }"
	"      : text {"
	"        label=\"Sct#\";"
	"        width=1;"
	"       }"
	"       : text {"
	"         label=\"Technology\";"
	"         width=21;"
	"       }"
	"       : text {"
	"         label=\"Prod. model\";"
	"         width=20;"
	"       }"
	"       : text {"
	"         label=\"Hight\";"
	"         width=3;"
	"       }"
	"       : text {"
	"         label=\"Level\";"
	"         width=5;"
	"       }"
	"       : text {label=\"MDT\";"
	"         width=5;"
	"       }"
	"     }"
	"     spacer;"
	"     : row {"
	"       fixed_width=true;"
	"       alignment=centered;"
	"       : button {"
	"         key=\"Save\";"
	"         label=\"&amp;amp;Save\";"
	"         is_default=true;"
	"       }"
	"     }"
	"     : row {"
	"       : column {"
	"         fixed_width=true;"
	"         : row {"
	"           : column {"
	"             spacer;"
	"             : image_button {"
	"               key=\"Select\";"
	"               width=3;"
	"               height=1.4;"
	"               color=15;"
	"             }"
	"             spacer;"
	"           }"
	"           : column {"
	"             spacer;"
	"             : text {"
	"               label=\"Select block\";"
	"             }"
	"             spacer;"
	"           }"
	"         }"
	"       }"
	"     }"
	"   }"
	"   spacer;"
	"   : row {"
	"     fixed_width = true;"
	"     alignment = centered;"
	"     : button {"
	"       key = \"OK\";"
	"       label = \"&amp;amp;OK\";"
	"       is_default = true;"
	"       width = 12;"
	"       fixed_width = true;"
	"     }"
	"     : button {"
	"       key = \"Cancel\";"
	"       label = \"&amp;amp;Cancel\";"
	"       is_cancel = true;"
	"       width = 12;"
	"       fixed_width = true;"
	"     }"
	"   }"
	"}"
      )
 );setq
 (setq d (vl-filename-mktemp nil nil ".dcl"))
 (setq o (open d "w"))
 (mapcar (function (lambda (x)(write-line x o))) row1)
 (close o)
 (setq id (load_dialog d))
 
 (cond
  ((not (new_dialog "InfoSec" id))
   (alert (strcat "ERROR: Open dialog fail.\n\n"
		  "[ " d " ]"))
   ;;exit
  )
  (T
   (action_tile "Save" "(done_dialog 2)")
   (action_tile "OK" "(done_dialog 1)")
   (action_tile "Cancel" "(done_dialog 0)")
   
   (setq rtn (start_dialog))
   
   (unload_dialog id)
   (cond
    ((= rtn 0) ;;cancel
     (setq RetVal nil)
     ;;etc
    ) 
    ((= rtn 1) ;;OK
     (setq RetVal T)
     ;;etc
    )
    ((= rtn 2) ;;Save
     (alert "User pulse button save")
     (setq RetVal T)
     ;;etc
    )
   )
  )
 );cond
 (vl-file-delete d)
 RetVal
);defun

(princ)&lt;/FONT&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I do not understand this part:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;FONT size="3" color="#FF0000"&gt;(cond&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3" color="#FF0000"&gt; ((eq rtn 3)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3" color="#FF0000"&gt;  (RefillDP)
 )
 ((and radio1 (eq rtn 3))&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT size="3" color="#FF0000"&gt;  (IS)		
 );eq
);cond&lt;/FONT&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Mar 2017 01:16:59 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/dcl-error-string-too-long-on-input/m-p/6943514#M122425</guid>
      <dc:creator>joselggalan</dc:creator>
      <dc:date>2017-03-14T01:16:59Z</dc:date>
    </item>
    <item>
      <title>Re: DCL error: string too long on input</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/dcl-error-string-too-long-on-input/m-p/6944378#M122426</link>
      <description>&lt;P&gt;Hi guys,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have learned some pretty good new tricks in this post to deal with DCL.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you all!&lt;/P&gt;</description>
      <pubDate>Tue, 14 Mar 2017 12:16:58 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/dcl-error-string-too-long-on-input/m-p/6944378#M122426</guid>
      <dc:creator>msarqui</dc:creator>
      <dc:date>2017-03-14T12:16:58Z</dc:date>
    </item>
    <item>
      <title>Re: DCL error: string too long on input</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/dcl-error-string-too-long-on-input/m-p/6946130#M122427</link>
      <description>And of course my favorite constants - SPACER:&lt;BR /&gt;&lt;BR /&gt; swh0 :spacer {width=0.0; height=0.0;}&lt;BR /&gt; swh1 :spacer {width=1.0; height=1.0;}&lt;BR /&gt;&lt;BR /&gt;In use:&lt;BR /&gt;swh0;&lt;BR /&gt;&lt;BR /&gt;swh0 is used to nudge the adjoining tile or provide a space between the&lt;BR /&gt;last tile and the bottom of a "Boxed" tile (container).&lt;BR /&gt;&lt;BR /&gt;swh1 is primarily used as an indent when combined in a ROW with other tiles.&lt;BR /&gt;I also use this above and below my OK_Cancel_Help row.&lt;BR /&gt;&lt;BR /&gt;???&lt;BR /&gt;</description>
      <pubDate>Tue, 14 Mar 2017 22:41:28 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/dcl-error-string-too-long-on-input/m-p/6946130#M122427</guid>
      <dc:creator>scot-65</dc:creator>
      <dc:date>2017-03-14T22:41:28Z</dc:date>
    </item>
  </channel>
</rss>

