Hello,
I have a C# RemObjects SDK service with a JSON message that is being called from a JavaScript client. All of the methods work except one. The JavaScript function “PrintTicket” below calls a PrintTemplate method on the server. The problem revolves around the PrinterSettings struck and the config variable.
var config = new PrinterSettings();
// calling alert here should show the object as a string but instead I get [object Object]
alert(config.toString());
If I remove the alert it will go all the way through to the call to PrintTemplate without any errors, including the part that assigns values to config’s members. The call to PrintTemplate fails with an “undefined” exception that is thrown at this line of the PrintTemplate function:
msg.write("Settings", "PrinterSettings", Settings);
If I change the config definition to an empty object then the call gets all the way through to the C# service implementation but the Settings parameter is null.
What is odd to me is that the Parameter struct and param variable and parameters array pass through perfectly. It is just the PrinterSettings object / parameter that causes the issue and I can’t figure out what the difference is.
function PrintTicket(){
try
{
var PrinterDriver = "Generic";
var FileName = "\\NAND_Flash\\extern\\TicketFormats\\OutboundFromWeb.txt";
var Copies = 1;
var Values = new Array();
var config = new PrinterSettings();
config.PortMode = PortMode.COM;
config.Parity = DataParity.None;
config.DataBits = 8;
config.BaudRate = 9600;
config.Port = 2;
//Add OutDate Param
param = new Parameter();
param.Name = "OutboundTimeDate";
param.DataType = "System.DateTime";
param.Value = $scope.Ticket.OutDate;
Values.push(param);
//Add Truck Param
param = new Parameter();
param.Name = "Truck";
param.DataType = "System.String";
param.Value = $scope.Ticket.Truck;
Values.push(param);
//Add Direction Param
param = new Parameter();
param.Name = "Direction";
param.DataType = "System.String";
param.Value = $scope.Ticket.Direction;
Values.push(param);
//Add Farm Param
param = new Parameter();
param.Name = "Farm";
param.DataType = "System.String";
param.Value = $scope.Ticket.Farm;
Values.push(param);
//Add Field Param
param = new Parameter();
param.Name = "Field";
param.DataType = "System.String";
param.Value = $scope.Ticket.Field;
Values.push(param);
//Add Commodity Param
param = new Parameter();
param.Name = "Commodity";
param.DataType = "System.String";
param.Value = $scope.Ticket.Commodity;
Values.push(param);
//Add Splits Param
param = new Parameter();
param.Name = "Splits";
param.DataType = "System.String";
param.Value = $scope.Ticket.Splits;
Values.push(param);
//Add Gross Param
param = new Parameter();
param.Name = "Gross";
param.DataType = "System.Double";
param.Value = $scope.Ticket.Gross.toString();
Values.push(param);
//Add Tare Param
param = new Parameter();
param.Name = "Tare";
param.DataType = "System.Double";
param.Value = $scope.Ticket.Tare.toString();
Values.push(param);
//Add Net Param
param = new Parameter();
param.Name = "Net";
param.DataType = "System.Double";
param.Value = $scope.Ticket.Net.toString();
Values.push(param);
//Add Moisture Param
param = new Parameter();
param.Name = "Moisture";
param.DataType = "System.Double";
param.Value = $scope.Ticket.Moisture.toString();
Values.push(param);
//Add Test Weight Param
param = new Parameter();
param.Name = "TestWeight";
param.DataType = "System.Double";
param.Value = $scope.Ticket.TestWeight.toString();
Values.push(param);
//Get Ticket Number
param = new Parameter();
param.Name = "TicketNumber";
param.DataType = "System.Int32";
param.Value = $scope.Ticket.TicketNumber.toString();
Values.push(param);
//Call Print Method
Printer.PrintTemplate(PrinterDriver,config,FileName,Copies,Values,
function(result)
{
var response = result.toString();
alert(response);
},
function(msg, e) { alert(e.Message); });
}
catch(err)
{
alert(err.Message);
}
}
Here is the JavaScript service…
//----------------------------------------------------------------------------//
// This unit was automatically generated by the RemObjects SDK after reading //
// the RODL file associated with this project . //
// //
// Do not modify this unit manually, or your changes will be lost when this //
// unit is regenerated the next time you compile the project. //
//----------------------------------------------------------------------------//
/* This codegen depends on RemObjects.js
- Usage:
- var Channel = new RemObjects.SDK.HTTPClientChannel(“http://localhost:8099/JSON”);
- var Message = new RemObjects.SDK.JSONMessage();
- var Service = new NewService(Channel, Message);
- Service.Sum(1, 2,
-
function(result) {
-
alert(result);
-
},
-
function(msg) {alert(msg.getErrorMessage())}
- );
*/
// Enum: DataParity
function DataParity() {
this.value = null;
};
DataParity.prototype = new RemObjects.SDK.ROEnumType();
DataParity.prototype.enumValues = [
“None”,
“Odd”,
“Even”
];
DataParity.prototype.constructor = DataParity;
RemObjects.SDK.RTTI[“DataParity”] = DataParity;
// Enum: PortMode
function PortMode() {
this.value = null;
};
PortMode.prototype = new RemObjects.SDK.ROEnumType();
PortMode.prototype.enumValues = [
“COM”,
“TCP”
];
PortMode.prototype.constructor = PortMode;
RemObjects.SDK.RTTI[“PortMode”] = PortMode;
// Struct: Parameter
function Parameter() {
this.DataType = {dataType : “AnsiString”, value : null};
this.Name = {dataType : “AnsiString”, value : null};
this.Value = {dataType : “AnsiString”, value : null};
};
Parameter.prototype = new RemObjects.SDK.ROStructType();
Parameter.prototype.constructor = Parameter;
RemObjects.SDK.RTTI[“Parameter”] = Parameter;
// Struct: ServerResponse
function ServerResponse() {
this.Data = {dataType : “Binary”, value : null};
this.Error = {dataType : “AnsiString”, value : null};
this.Result = {dataType : “Integer”, value : null};
};
ServerResponse.prototype = new RemObjects.SDK.ROStructType();
ServerResponse.prototype.constructor = ServerResponse;
RemObjects.SDK.RTTI[“ServerResponse”] = ServerResponse;
// Struct: TFileInfo
function TFileInfo() {
this.Filename = {dataType : “AnsiString”, value : null};
this.FileSize = {dataType : “Int64”, value : null};
this.FileTypeName = {dataType : “AnsiString”, value : null};
};
TFileInfo.prototype = new RemObjects.SDK.ROStructType();
TFileInfo.prototype.constructor = TFileInfo;
RemObjects.SDK.RTTI[“TFileInfo”] = TFileInfo;
// Struct: PrinterSettings
function PrinterSettings() {
this.BaudRate = {dataType : “Integer”, value : null};
this.DataBits = {dataType : “Integer”, value : null};
this.Host = {dataType : “AnsiString”, value : null};
this.Mode = {dataType : “PortMode”, value : null};
this.Parity = {dataType : “DataParity”, value : null};
this.Port = {dataType : “Integer”, value : null};
};
PrinterSettings.prototype = new RemObjects.SDK.ROStructType();
PrinterSettings.prototype.constructor = PrinterSettings;
RemObjects.SDK.RTTI[“PrinterSettings”] = PrinterSettings;
// Array: Parameters
function Parameters() {
RemObjects.SDK.ROArrayType.call(this);
this.elementType = “Parameter”;
};
Parameters.prototype = new RemObjects.SDK.ROArrayType();
Parameters.prototype.constructor = Parameters;
RemObjects.SDK.RTTI[“Parameters”] = Parameters;
// Array: StringArray
function StringArray() {
RemObjects.SDK.ROArrayType.call(this);
this.elementType = “AnsiString”;
};
StringArray.prototype = new RemObjects.SDK.ROArrayType();
StringArray.prototype.constructor = StringArray;
RemObjects.SDK.RTTI[“StringArray”] = StringArray;
// Array: TFileArray
function TFileArray() {
RemObjects.SDK.ROArrayType.call(this);
this.elementType = “TFileInfo”;
};
TFileArray.prototype = new RemObjects.SDK.ROArrayType();
TFileArray.prototype.constructor = TFileArray;
RemObjects.SDK.RTTI[“TFileArray”] = TFileArray;
// Service: DatabaseService
function DatabaseService(__channel, __message, __service_name) {
RemObjects.SDK.ROService.call(this, __channel, __message, __service_name);
this.fServiceName = this.fServiceName || __service_name || “DatabaseService”;
};
DatabaseService.prototype.AppendRecord = function(
Catalog,
TableName,
Values,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “AppendRecord”);
msg.write(“Catalog”, “AnsiString”, Catalog);
msg.write(“TableName”, “AnsiString”, TableName);
msg.write(“Values”, “Parameters”, Values);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “ServerResponse”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
DatabaseService.prototype.ApplyUpdates = function(
Catalog,
Table,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “ApplyUpdates”);
msg.write(“Catalog”, “AnsiString”, Catalog);
msg.write(“Table”, “Binary”, Table);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “ServerResponse”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
DatabaseService.prototype.DeleteRecords = function(
Catalog,
TableName,
Params,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “DeleteRecords”);
msg.write(“Catalog”, “AnsiString”, Catalog);
msg.write(“TableName”, “AnsiString”, TableName);
msg.write(“Params”, “Parameters”, Params);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “ServerResponse”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
DatabaseService.prototype.ExecQuery = function(
Catalog,
sql,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “ExecQuery”);
msg.write(“Catalog”, “AnsiString”, Catalog);
msg.write(“sql”, “AnsiString”, sql);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “AnsiString”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
DatabaseService.prototype.ExecSQL = function(
Catalog,
sql,
Params,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “ExecSQL”);
msg.write(“Catalog”, “AnsiString”, Catalog);
msg.write(“sql”, “AnsiString”, sql);
msg.write(“Params”, “Parameters”, Params);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “ServerResponse”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
DatabaseService.prototype.GetData = function(
Catalog,
sql,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “GetData”);
msg.write(“Catalog”, “AnsiString”, Catalog);
msg.write(“sql”, “AnsiString”, sql);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “AnsiString”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
DatabaseService.prototype.GetRecords = function(
Catalog,
sql,
Params,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “GetRecords”);
msg.write(“Catalog”, “AnsiString”, Catalog);
msg.write(“sql”, “AnsiString”, sql);
msg.write(“Params”, “Parameters”, Params);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “ServerResponse”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
DatabaseService.prototype.GetSchema = function(
Catalog,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “GetSchema”);
msg.write(“Catalog”, “AnsiString”, Catalog);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “ServerResponse”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
DatabaseService.prototype.GetTableNames = function(
Catalog,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “GetTableNames”);
msg.write(“Catalog”, “AnsiString”, Catalog);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “AnsiString”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
DatabaseService.prototype.GetTableSchema = function(
Catalog,
TableName,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “GetTableSchema”);
msg.write(“Catalog”, “AnsiString”, Catalog);
msg.write(“TableName”, “AnsiString”, TableName);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “AnsiString”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
DatabaseService.prototype.Ping = function(
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “Ping”);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “Boolean”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
DatabaseService.prototype.UpdateRecords = function(
Catalog,
TableName,
Values,
Keys,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “UpdateRecords”);
msg.write(“Catalog”, “AnsiString”, Catalog);
msg.write(“TableName”, “AnsiString”, TableName);
msg.write(“Values”, “Parameters”, Values);
msg.write(“Keys”, “Parameters”, Keys);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “ServerResponse”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
// Service: FileService
function FileService(__channel, __message, __service_name) {
RemObjects.SDK.ROService.call(this, __channel, __message, __service_name);
this.fServiceName = this.fServiceName || __service_name || “FileService”;
};
FileService.prototype.GetDirectory = function(
SearchPath,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “GetDirectory”);
msg.write(“SearchPath”, “AnsiString”, SearchPath);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “TFileArray”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
FileService.prototype.GetFile = function(
Filename,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “GetFile”);
msg.write(“Filename”, “AnsiString”, Filename);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “Binary”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
FileService.prototype.PutFile = function(
Filename,
Data,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “PutFile”);
msg.write(“Filename”, “AnsiString”, Filename);
msg.write(“Data”, “Binary”, Data);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
__success(
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
FileService.prototype.DeleteFile = function(
Filename,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “DeleteFile”);
msg.write(“Filename”, “AnsiString”, Filename);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
__success(
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
FileService.prototype.RenameFile = function(
OriginalFilename,
NewFilename,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “RenameFile”);
msg.write(“OriginalFilename”, “AnsiString”, OriginalFilename);
msg.write(“NewFilename”, “AnsiString”, NewFilename);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
__success(
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
FileService.prototype.DirectoryExists = function(
Directory,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “DirectoryExists”);
msg.write(“Directory”, “AnsiString”, Directory);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “Boolean”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
FileService.prototype.CreateDirectory = function(
Directory,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “CreateDirectory”);
msg.write(“Directory”, “AnsiString”, Directory);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
__success(
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
FileService.prototype.DeleteDirectory = function(
Directory,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “DeleteDirectory”);
msg.write(“Directory”, “AnsiString”, Directory);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
__success(
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
FileService.prototype.FileExists = function(
Filename,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “FileExists”);
msg.write(“Filename”, “AnsiString”, Filename);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “Boolean”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
// Service: PrintService
function PrintService(__channel, __message, __service_name) {
RemObjects.SDK.ROService.call(this, __channel, __message, __service_name);
this.fServiceName = this.fServiceName || __service_name || “PrintService”;
};
PrintService.prototype.Print = function(
PrinterDriver,
Settings,
PrintFormat,
Copies,
Values,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “Print”);
msg.write(“PrinterDriver”, “AnsiString”, PrinterDriver);
msg.write(“Settings”, “PrinterSettings”, Settings);
msg.write(“PrintFormat”, “AnsiString”, PrintFormat);
msg.write(“Copies”, “Integer”, Copies);
msg.write(“Values”, “Parameters”, Values);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “AnsiString”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
PrintService.prototype.PrintTemplate = function(
PrinterDriver,
Settings,
FileName,
Copies,
Values,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “PrintTemplate”);
msg.write(“PrinterDriver”, “AnsiString”, PrinterDriver);
msg.write(“Settings”, “PrinterSettings”, Settings);
msg.write(“FileName”, “AnsiString”, FileName);
msg.write(“Copies”, “Integer”, Copies);
msg.write(“Values”, “Parameters”, Values);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “AnsiString”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
PrintService.prototype.GetDriverNames = function(
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “GetDriverNames”);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “StringArray”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
// Service: SettingsService
function SettingsService(__channel, __message, __service_name) {
RemObjects.SDK.ROService.call(this, __channel, __message, __service_name);
this.fServiceName = this.fServiceName || __service_name || “SettingsService”;
};
SettingsService.prototype.ReadBool = function(
Node,
Key,
DefaultValue,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “ReadBool”);
msg.write(“Node”, “AnsiString”, Node);
msg.write(“Key”, “AnsiString”, Key);
msg.write(“DefaultValue”, “Boolean”, DefaultValue);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “Boolean”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
SettingsService.prototype.ReadDateTime = function(
Node,
Key,
DefaultValue,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “ReadDateTime”);
msg.write(“Node”, “AnsiString”, Node);
msg.write(“Key”, “AnsiString”, Key);
msg.write(“DefaultValue”, “DateTime”, DefaultValue);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “DateTime”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
SettingsService.prototype.ReadDouble = function(
Node,
Key,
DefaultValue,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “ReadDouble”);
msg.write(“Node”, “AnsiString”, Node);
msg.write(“Key”, “AnsiString”, Key);
msg.write(“DefaultValue”, “Double”, DefaultValue);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “Double”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
SettingsService.prototype.ReadInt = function(
Node,
Key,
DefaultValue,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “ReadInt”);
msg.write(“Node”, “AnsiString”, Node);
msg.write(“Key”, “AnsiString”, Key);
msg.write(“DefaultValue”, “Integer”, DefaultValue);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “Integer”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
SettingsService.prototype.ReadString = function(
Node,
Key,
DefaultValue,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “ReadString”);
msg.write(“Node”, “AnsiString”, Node);
msg.write(“Key”, “AnsiString”, Key);
msg.write(“DefaultValue”, “AnsiString”, DefaultValue);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “AnsiString”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
SettingsService.prototype.ReadStrings = function(
Node,
Key,
DefaultValues,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “ReadStrings”);
msg.write(“Node”, “AnsiString”, Node);
msg.write(“Key”, “AnsiString”, Key);
msg.write(“DefaultValues”, “StringArray”, DefaultValues);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “StringArray”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
SettingsService.prototype.WriteBool = function(
Node,
Key,
Value,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “WriteBool”);
msg.write(“Node”, “AnsiString”, Node);
msg.write(“Key”, “AnsiString”, Key);
msg.write(“Value”, “Boolean”, Value);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
__success(
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
SettingsService.prototype.WriteDateTime = function(
Node,
Key,
Value,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “WriteDateTime”);
msg.write(“Node”, “AnsiString”, Node);
msg.write(“Key”, “AnsiString”, Key);
msg.write(“Value”, “DateTime”, Value);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
__success(
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
SettingsService.prototype.WriteDouble = function(
Node,
Key,
Value,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “WriteDouble”);
msg.write(“Node”, “AnsiString”, Node);
msg.write(“Key”, “AnsiString”, Key);
msg.write(“Value”, “Double”, Value);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
__success(
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
SettingsService.prototype.WriteInt = function(
Node,
Key,
Value,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “WriteInt”);
msg.write(“Node”, “AnsiString”, Node);
msg.write(“Key”, “AnsiString”, Key);
msg.write(“Value”, “Integer”, Value);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
__success(
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
SettingsService.prototype.ReadSettings = function(
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “ReadSettings”);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
var __result = __message.read(“Result”, “AnsiString”);
__success(
__result
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
SettingsService.prototype.WriteSettings = function(
Settings,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “WriteSettings”);
msg.write(“Settings”, “AnsiString”, Settings);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
__success(
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
SettingsService.prototype.WriteString = function(
Node,
Key,
Value,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “WriteString”);
msg.write(“Node”, “AnsiString”, Node);
msg.write(“Key”, “AnsiString”, Key);
msg.write(“Value”, “AnsiString”, Value);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
__success(
);
}, __error);
} catch (e) {
__error(msg, e);
};
};
SettingsService.prototype.WriteStrings = function(
Node,
Key,
Values,
__success, __error) {
try {
var msg = this.fMessage.clone();
msg.initialize(this.fServiceName, “WriteStrings”);
msg.write(“Node”, “AnsiString”, Node);
msg.write(“Key”, “AnsiString”, Key);
msg.write(“Values”, “StringArray”, Values);
msg.finalize();
this.fChannel.dispatch(msg, function (__message) {
__success(
);
}, __error);
} catch (e) {
__error(msg, e);
};
};