web application get unresponsive

I need to print label from web app. For that pupose i implement a test program for printing label. For this I added link to dymo.label.framework.js

in App htmlheader property.
When I run this test program ,It works properly i.e label get printed

I integrated this code in my project . when i run it and after clicking on “Print” button , app get stopped i.e in IDE “Event loop” msg shown
After resuming operation exception stack trace shown as :

Unhandled xojo.Core.InvalidArgumentException
Message: root{“jsSource”}: String value does not have a specified encoding.

Stack:
rbframework.dylib$1397
rbframework.dylib$1402
rbframework.dylib$1404
rbframework.dylib$1401
rbframework.dylib$1404
GenerateJSON
xojo.Data.GenerateJSON%y%x
WebResponse._Render%s%o
WebSession._HandleEvent%%oso<_HTTPServer.HTTPRequestContext>
WebSession._HandleRequest%i4%oso<_HTTPServer.HTTPRequestContext>
WebApplication._HandleHTTPRequest%%oo<_HTTPServer.HTTPRequestContext>
_HTTPServer.HTTPRequestThread.Event_Run%%o<_HTTPServer.HTTPRequestThread>
rbframework.dylib$1225
rbframework.dylib$1016

Can any one help me to solve this error ?

Thanks in advance

You are using “xojo.Data.GenerateJSON”
somewhere?

[quote=306698:@Derk Jochems]You are using “xojo.Data.GenerateJSON”
somewhere?[/quote]
That’s actually inside the web framework. But the error is legitimate. The code needs to have the right encoding to work.

Please show us the code you’re using to deliver the JavaScript to the browser.

Here the code is given below to print label from dymo label printer


  dim aa as new WebTextArea
  aa.AppendText " var labelXml='<DieCutLabel Version=""8.0"" Units=""twips"">';"
  aa.AppendText "labelXml =labelXml+'<PaperOrientation>Landscape</PaperOrientation>';"
  aa.AppendText "labelXml =labelXml+'<Id>Address</Id>';"
  aa.AppendText "labelXml =labelXml+'<PaperName>30252 Address</PaperName>';"
  aa.AppendText "labelXml =labelXml+'<DrawCommands>';"
  aa.AppendText "labelXml =labelXml+'<RoundRectangle X=""0"" Y=""0"" Width=""1581"" Height=""5040"" Rx=""270"" Ry=""270""/>';"
  aa.AppendText "labelXml =labelXml+'</DrawCommands>';"
  aa.AppendText "labelXml =labelXml+'<ObjectInfo>';"
  aa.AppendText "labelXml =labelXml+'<TextObject>';"
  aa.AppendText "labelXml =labelXml+'<Name>Name</Name>';"
  aa.AppendText "labelXml =labelXml+'<ForeColor Alpha=""255"" Red=""0"" Green=""0"" Blue=""0""/>';"
  aa.AppendText "labelXml =labelXml+'<BackColor Alpha=""0"" Red=""255"" Green=""255"" Blue=""255""/>';"
  aa.AppendText "labelXml =labelXml+'<LinkedObjectName></LinkedObjectName>';"
  aa.AppendText "labelXml =labelXml+'<Rotation>Rotation0</Rotation>';"
  aa.AppendText "labelXml =labelXml+'<IsMirrored>False</IsMirrored>';"
  aa.AppendText "labelXml =labelXml+'<IsVariable>False</IsVariable>';"
  aa.AppendText "labelXml =labelXml+'<HorizontalAlignment>Left</HorizontalAlignment>';"
  aa.AppendText "labelXml =labelXml+'<VerticalAlignment>Middle</VerticalAlignment>';"
  aa.AppendText "labelXml =labelXml+'<TextFitMode>ShrinkToFit</TextFitMode>';"
  aa.AppendText "labelXml =labelXml+'<UseFullFontHeight>True</UseFullFontHeight>';"
  aa.AppendText "labelXml =labelXml+'<Verticalized>False</Verticalized>';"
  aa.AppendText "labelXml =labelXml+'<StyledText>';"
  aa.AppendText "labelXml =labelXml+'<Element>';"
  aa.AppendText "labelXml =labelXml+'<String>ABC </String>';"
  aa.AppendText "labelXml =labelXml+'<Attributes>';"
  aa.AppendText "labelXml =labelXml+'<Font Family=""Helvetica"" Size=""13"" Bold=""False"" Italic=""False"" Underline=""False"" Strikeout=""False""/>';"
  aa.AppendText "labelXml =labelXml+'<ForeColor Alpha=""255"" Red=""0"" Green=""0"" Blue=""0""/>';"
  aa.AppendText "labelXml =labelXml+'</Attributes>';"
  aa.AppendText "labelXml =labelXml+'</Element>';"
  aa.AppendText "labelXml =labelXml+'</StyledText>';"
  aa.AppendText "labelXml =labelXml+'</TextObject>';"
  aa.AppendText "labelXml =labelXml+'<Bounds X=""1400"" Y=""57.59995"" Width=""2000"" Height=""400""/>';"
  aa.AppendText "labelXml =labelXml+'</ObjectInfo>';"
  aa.AppendText "labelXml =labelXml+'<ObjectInfo>';"
  aa.AppendText "labelXml =labelXml+'<BarcodeObject>';"
  aa.AppendText "labelXml =labelXml+'<Name>BARCODE</Name>';"
  aa.AppendText "labelXml =labelXml+'<ForeColor Alpha=""255"" Red=""0"" Green=""0"" Blue=""0""/>';"
  aa.AppendText "labelXml =labelXml+'<BackColor Alpha=""255"" Red=""255"" Green=""255"" Blue=""255""/>';"
  aa.AppendText "labelXml =labelXml+'<LinkedObjectName></LinkedObjectName>';"
  aa.AppendText "labelXml =labelXml+'<Rotation>Rotation0</Rotation>';"
  aa.AppendText "labelXml =labelXml+'<IsMirrored>False</IsMirrored>';"
  aa.AppendText "labelXml =labelXml+'<IsVariable>False</IsVariable>';"
  aa.AppendText "labelXml =labelXml+'<Text>12345</Text>';"
  aa.AppendText "labelXml =labelXml+'<Type>Code39</Type>';"
  aa.AppendText "labelXml =labelXml+'<Size>Small</Size>';"
  aa.AppendText "labelXml =labelXml+'<TextPosition>Bottom</TextPosition>';"
  aa.AppendText "labelXml =labelXml+'<TextFont Family=""Helvetica"" Size=""8"" Bold=""False"" Italic=""False"" Underline=""False"" Strikeout=""False""/>';"
  aa.AppendText "labelXml =labelXml+'<CheckSumFont Family=""Helvetica"" Size=""10"" Bold=""False"" Italic=""False"" Underline=""False"" Strikeout=""False""/>';"
  aa.AppendText "labelXml =labelXml+'<TextEmbedding>None</TextEmbedding>';"
  aa.AppendText "labelXml =labelXml+'<ECLevel>0</ECLevel>';"
  aa.AppendText "labelXml =labelXml+'<HorizontalAlignment>Center</HorizontalAlignment>';"
  aa.AppendText "labelXml =labelXml+'<QuietZonesPadding Left=""0"" Right=""0"" Top=""0"" Bottom=""0""/>';"
  aa.AppendText "labelXml =labelXml+'</BarcodeObject>';"
  aa.AppendText "labelXml =labelXml+'<Bounds X=""200"" Y=""400"" Width=""4000"" Height=""900""/>';"
  aa.AppendText "labelXml =labelXml+'</ObjectInfo>';"
  aa.AppendText "labelXml =labelXml+'<ObjectInfo>';"
  aa.AppendText "labelXml =labelXml+'<TextObject>';"
  aa.AppendText "labelXml =labelXml+'<Name>Number1</Name>';"
  aa.AppendText "labelXml =labelXml+'<ForeColor Alpha=""255"" Red=""0"" Green=""0"" Blue=""0""/>';"
  aa.AppendText "labelXml =labelXml+'<BackColor Alpha=""0"" Red=""255"" Green=""255"" Blue=""255""/>';"
  aa.AppendText "labelXml =labelXml+'<LinkedObjectName></LinkedObjectName>';"
  aa.AppendText "labelXml =labelXml+'<Rotation>Rotation0</Rotation>';"
  aa.AppendText "labelXml =labelXml+'<IsMirrored>False</IsMirrored>';"
  aa.AppendText "labelXml =labelXml+'<IsVariable>False</IsVariable>';"
  aa.AppendText "labelXml =labelXml+'<HorizontalAlignment>Left</HorizontalAlignment>';"
  aa.AppendText "labelXml =labelXml+'<VerticalAlignment>Middle</VerticalAlignment>';"
  aa.AppendText "labelXml =labelXml+'<TextFitMode>ShrinkToFit</TextFitMode>';"
  aa.AppendText "labelXml =labelXml+'<UseFullFontHeight>True</UseFullFontHeight>';"
  aa.AppendText "labelXml =labelXml+'<Verticalized>False</Verticalized>';"
  aa.AppendText "labelXml =labelXml+'<StyledText>';"
  aa.AppendText "labelXml =labelXml+'<Element>';"
  aa.AppendText "labelXml =labelXml+'<String>100</String>';"
  aa.AppendText "labelXml =labelXml+'<Attributes>';"
  aa.AppendText "labelXml =labelXml+'<Font Family=""Helvetica"" Size=""19"" Bold=""True"" Italic=""False"" Underline=""False"" Strikeout=""False""/>';"
  aa.AppendText "labelXml =labelXml+'<ForeColor Alpha=""255"" Red=""0"" Green=""0"" Blue=""0""/>';"
  aa.AppendText "labelXml =labelXml+'</Attributes>';"
  aa.AppendText "labelXml =labelXml+'</Element>';"
  aa.AppendText "labelXml =labelXml+'</StyledText>';"
  aa.AppendText "labelXml =labelXml+'</TextObject>';"
  aa.AppendText "labelXml =labelXml+'<Bounds X=""4200"" Y=""300"" Width=""600"" Height=""800""/>';"
  aa.AppendText "labelXml =labelXml+'</ObjectInfo>';"
  aa.AppendText "labelXml =labelXml+'</DieCutLabel>';"+EndOfLine
  aa.AppendText "var xmlLabel=labelXml;"+EndOfLine
  aa.AppendText "var label=dymo.label.framework.openLabelXml(xmlLabel);"+EndOfLine
  aa.AppendText "label.setObjectText(""Name"", """+"Poonam Kadam"+""");"+EndOfLine
  aa.AppendText "label.setObjectText(""Number1"", """+"123"+""");"+EndOfLine
  aa.AppendText "label.setObjectText(""BARCODE"", """+"12345"+""");"+EndOfLine
  
  aa.AppendText "var printers = dymo.label.framework.getPrinters();"+EndOfLine
  aa.AppendText "if (printers.length == 0)"+EndOfLine
  aa.AppendText "alert(""No DYMO printers are installed. Install DYMO printers."");"+EndOfLine
  
  aa.AppendText "var printerName = """";"+EndOfLine
  aa.AppendText "for (var i = 0; i < printers.length; ++i)"+EndOfLine
  aa.AppendText "{"+EndOfLine
  aa.AppendText "var printer = printers[i];"+EndOfLine
  aa.AppendText "if (printer.printerType == ""LabelWriterPrinter"")"+EndOfLine
  aa.AppendText "{"+EndOfLine
  aa.AppendText "printerName = printer.name;"+EndOfLine
  aa.AppendText "break;"+EndOfLine
  aa.AppendText "}"+EndOfLine
  aa.AppendText "}"+EndOfLine
  
  aa.AppendText "if (printerName == """")"+EndOfLine
  aa.AppendText "alert(""No LabelWriter printers found. Install LabelWriter printer"");"+EndOfLine
  
  // finally print the label
  aa.AppendText "label.print(printerName);"+EndOfLine
  ExecuteJavaScript(aa.Text)

Instead of doing appendtext that way, I often use a constant where I put the straight JavaScript. It is a whole lot easier to debug and modify than a bunch of separate lines. You may want to do that next time.

Since the error is that you need an encoding for your source, I would simply try :

 ExecuteJavaScript(DefineEncoding(aa.Text, Encodings.UTF8 ))

Thank you Michel
now it works ,label get printed

[quote=306887:@Poonam Kadam]Here the code is given below to print label from dymo label printer


  dim aa as new WebTextArea
  aa.AppendText " var labelXml='<DieCutLabel Version=""8.0"" Units=""twips"">';"
  aa.AppendText "labelXml =labelXml+'<PaperOrientation>Landscape</PaperOrientation>';"
  aa.AppendText "labelXml =labelXml+'<Id>Address</Id>';"
  aa.AppendText "labelXml =labelXml+'<PaperName>30252 Address</PaperName>';"
  aa.AppendText "labelXml =labelXml+'<DrawCommands>';"
  aa.AppendText "labelXml =labelXml+'<RoundRectangle X=""0"" Y=""0"" Width=""1581"" Height=""5040"" Rx=""270"" Ry=""270""/>';"
  aa.AppendText "labelXml =labelXml+'</DrawCommands>';"
  aa.AppendText "labelXml =labelXml+'<ObjectInfo>';"
  aa.AppendText "labelXml =labelXml+'<TextObject>';"
  aa.AppendText "labelXml =labelXml+'<Name>Name</Name>';"
  aa.AppendText "labelXml =labelXml+'<ForeColor Alpha=""255"" Red=""0"" Green=""0"" Blue=""0""/>';"
  aa.AppendText "labelXml =labelXml+'<BackColor Alpha=""0"" Red=""255"" Green=""255"" Blue=""255""/>';"
  aa.AppendText "labelXml =labelXml+'<LinkedObjectName></LinkedObjectName>';"
  aa.AppendText "labelXml =labelXml+'<Rotation>Rotation0</Rotation>';"
  aa.AppendText "labelXml =labelXml+'<IsMirrored>False</IsMirrored>';"
  aa.AppendText "labelXml =labelXml+'<IsVariable>False</IsVariable>';"
  aa.AppendText "labelXml =labelXml+'<HorizontalAlignment>Left</HorizontalAlignment>';"
  aa.AppendText "labelXml =labelXml+'<VerticalAlignment>Middle</VerticalAlignment>';"
  aa.AppendText "labelXml =labelXml+'<TextFitMode>ShrinkToFit</TextFitMode>';"
  aa.AppendText "labelXml =labelXml+'<UseFullFontHeight>True</UseFullFontHeight>';"
  aa.AppendText "labelXml =labelXml+'<Verticalized>False</Verticalized>';"
  aa.AppendText "labelXml =labelXml+'<StyledText>';"
  aa.AppendText "labelXml =labelXml+'<Element>';"
  aa.AppendText "labelXml =labelXml+'<String>ABC </String>';"
  aa.AppendText "labelXml =labelXml+'<Attributes>';"
  aa.AppendText "labelXml =labelXml+'<Font Family=""Helvetica"" Size=""13"" Bold=""False"" Italic=""False"" Underline=""False"" Strikeout=""False""/>';"
  aa.AppendText "labelXml =labelXml+'<ForeColor Alpha=""255"" Red=""0"" Green=""0"" Blue=""0""/>';"
  aa.AppendText "labelXml =labelXml+'</Attributes>';"
  aa.AppendText "labelXml =labelXml+'</Element>';"
  aa.AppendText "labelXml =labelXml+'</StyledText>';"
  aa.AppendText "labelXml =labelXml+'</TextObject>';"
  aa.AppendText "labelXml =labelXml+'<Bounds X=""1400"" Y=""57.59995"" Width=""2000"" Height=""400""/>';"
  aa.AppendText "labelXml =labelXml+'</ObjectInfo>';"
  aa.AppendText "labelXml =labelXml+'<ObjectInfo>';"
  aa.AppendText "labelXml =labelXml+'<BarcodeObject>';"
  aa.AppendText "labelXml =labelXml+'<Name>BARCODE</Name>';"
  aa.AppendText "labelXml =labelXml+'<ForeColor Alpha=""255"" Red=""0"" Green=""0"" Blue=""0""/>';"
  aa.AppendText "labelXml =labelXml+'<BackColor Alpha=""255"" Red=""255"" Green=""255"" Blue=""255""/>';"
  aa.AppendText "labelXml =labelXml+'<LinkedObjectName></LinkedObjectName>';"
  aa.AppendText "labelXml =labelXml+'<Rotation>Rotation0</Rotation>';"
  aa.AppendText "labelXml =labelXml+'<IsMirrored>False</IsMirrored>';"
  aa.AppendText "labelXml =labelXml+'<IsVariable>False</IsVariable>';"
  aa.AppendText "labelXml =labelXml+'<Text>12345</Text>';"
  aa.AppendText "labelXml =labelXml+'<Type>Code39</Type>';"
  aa.AppendText "labelXml =labelXml+'<Size>Small</Size>';"
  aa.AppendText "labelXml =labelXml+'<TextPosition>Bottom</TextPosition>';"
  aa.AppendText "labelXml =labelXml+'<TextFont Family=""Helvetica"" Size=""8"" Bold=""False"" Italic=""False"" Underline=""False"" Strikeout=""False""/>';"
  aa.AppendText "labelXml =labelXml+'<CheckSumFont Family=""Helvetica"" Size=""10"" Bold=""False"" Italic=""False"" Underline=""False"" Strikeout=""False""/>';"
  aa.AppendText "labelXml =labelXml+'<TextEmbedding>None</TextEmbedding>';"
  aa.AppendText "labelXml =labelXml+'<ECLevel>0</ECLevel>';"
  aa.AppendText "labelXml =labelXml+'<HorizontalAlignment>Center</HorizontalAlignment>';"
  aa.AppendText "labelXml =labelXml+'<QuietZonesPadding Left=""0"" Right=""0"" Top=""0"" Bottom=""0""/>';"
  aa.AppendText "labelXml =labelXml+'</BarcodeObject>';"
  aa.AppendText "labelXml =labelXml+'<Bounds X=""200"" Y=""400"" Width=""4000"" Height=""900""/>';"
  aa.AppendText "labelXml =labelXml+'</ObjectInfo>';"
  aa.AppendText "labelXml =labelXml+'<ObjectInfo>';"
  aa.AppendText "labelXml =labelXml+'<TextObject>';"
  aa.AppendText "labelXml =labelXml+'<Name>Number1</Name>';"
  aa.AppendText "labelXml =labelXml+'<ForeColor Alpha=""255"" Red=""0"" Green=""0"" Blue=""0""/>';"
  aa.AppendText "labelXml =labelXml+'<BackColor Alpha=""0"" Red=""255"" Green=""255"" Blue=""255""/>';"
  aa.AppendText "labelXml =labelXml+'<LinkedObjectName></LinkedObjectName>';"
  aa.AppendText "labelXml =labelXml+'<Rotation>Rotation0</Rotation>';"
  aa.AppendText "labelXml =labelXml+'<IsMirrored>False</IsMirrored>';"
  aa.AppendText "labelXml =labelXml+'<IsVariable>False</IsVariable>';"
  aa.AppendText "labelXml =labelXml+'<HorizontalAlignment>Left</HorizontalAlignment>';"
  aa.AppendText "labelXml =labelXml+'<VerticalAlignment>Middle</VerticalAlignment>';"
  aa.AppendText "labelXml =labelXml+'<TextFitMode>ShrinkToFit</TextFitMode>';"
  aa.AppendText "labelXml =labelXml+'<UseFullFontHeight>True</UseFullFontHeight>';"
  aa.AppendText "labelXml =labelXml+'<Verticalized>False</Verticalized>';"
  aa.AppendText "labelXml =labelXml+'<StyledText>';"
  aa.AppendText "labelXml =labelXml+'<Element>';"
  aa.AppendText "labelXml =labelXml+'<String>100</String>';"
  aa.AppendText "labelXml =labelXml+'<Attributes>';"
  aa.AppendText "labelXml =labelXml+'<Font Family=""Helvetica"" Size=""19"" Bold=""True"" Italic=""False"" Underline=""False"" Strikeout=""False""/>';"
  aa.AppendText "labelXml =labelXml+'<ForeColor Alpha=""255"" Red=""0"" Green=""0"" Blue=""0""/>';"
  aa.AppendText "labelXml =labelXml+'</Attributes>';"
  aa.AppendText "labelXml =labelXml+'</Element>';"
  aa.AppendText "labelXml =labelXml+'</StyledText>';"
  aa.AppendText "labelXml =labelXml+'</TextObject>';"
  aa.AppendText "labelXml =labelXml+'<Bounds X=""4200"" Y=""300"" Width=""600"" Height=""800""/>';"
  aa.AppendText "labelXml =labelXml+'</ObjectInfo>';"
  aa.AppendText "labelXml =labelXml+'</DieCutLabel>';"+EndOfLine
  aa.AppendText "var xmlLabel=labelXml;"+EndOfLine
  aa.AppendText "var label=dymo.label.framework.openLabelXml(xmlLabel);"+EndOfLine
  aa.AppendText "label.setObjectText(""Name"", """+"Poonam Kadam"+""");"+EndOfLine
  aa.AppendText "label.setObjectText(""Number1"", """+"123"+""");"+EndOfLine
  aa.AppendText "label.setObjectText(""BARCODE"", """+"12345"+""");"+EndOfLine
  
  aa.AppendText "var printers = dymo.label.framework.getPrinters();"+EndOfLine
  aa.AppendText "if (printers.length == 0)"+EndOfLine
  aa.AppendText "alert(""No DYMO printers are installed. Install DYMO printers."");"+EndOfLine
  
  aa.AppendText "var printerName = """";"+EndOfLine
  aa.AppendText "for (var i = 0; i < printers.length; ++i)"+EndOfLine
  aa.AppendText "{"+EndOfLine
  aa.AppendText "var printer = printers[i];"+EndOfLine
  aa.AppendText "if (printer.printerType == ""LabelWriterPrinter"")"+EndOfLine
  aa.AppendText "{"+EndOfLine
  aa.AppendText "printerName = printer.name;"+EndOfLine
  aa.AppendText "break;"+EndOfLine
  aa.AppendText "}"+EndOfLine
  aa.AppendText "}"+EndOfLine
  
  aa.AppendText "if (printerName == """")"+EndOfLine
  aa.AppendText "alert(""No LabelWriter printers found. Install LabelWriter printer"");"+EndOfLine
  
  // finally print the label
  aa.AppendText "label.print(printerName);"+EndOfLine
  ExecuteJavaScript(aa.Text)

[/code][/quote]
Another thing to note.. since you're not actually using the WebTextArea that you're creating here... try just using an array:

[code]DIm aa() as string

// Do all of your appends here
aa.append ...

// I don't think you'll need the DefineEncoding here...
ExecuteJavascript(Join(aa,endofline))