小编sxt*_*son的帖子

jQuery AJAX函数 - Chrome抛出"Uncaught SyntaxError:Unexpected number"

我在屏幕上有许多可点击的对象,它们代表通过COM组件连接的软件中的对象.

当我点击一个对象时,我发送了对象的名称,会话ID和我想要运行的命令.

我正在尝试实现的特定命令的代码是基于C#的ASP.NET页面:

case "myClick":
                dynamic simObj = S8COM.get_SimObject(Request["id"]);
                responseData = "{name:" + simObj.Name.ToString() + ",countInRoutes:" + simObj.CountInRoutes.ToString() + ",countOutRoutes:" + simObj.CountOutRoutes.ToString() + ",index:" + simObj.Index.ToString() + ",capacity:" + simObj.Capacity.ToString() + ",completed:" + simObj.Completed.ToString() + ",routeOutMethod:" + simObj.RouteOutMethod.ToString() + "}";
                break;
Run Code Online (Sandbox Code Playgroud)

这适用于某些对象,但不适用于其他对象,抛出"Uncaught SyntaxError:Unexpected number"异常.

我用来调用这个特定函数的JS是:

S8Web.Requestmanager.makeRequest({ data: { command: "myClick", id: aItem.id }, async: true, callback: function(data){
                        alert(data.CountInRoutes); //Do a vardump of the response
                        }});
Run Code Online (Sandbox Code Playgroud)

还有几个响应,第一个响应正常,而第二个响应意外数字异常:

jsonp1319203225074({name:Start,countInRoutes:0,countOutRoutes:1,index:5,capacity:0,completed:0,routeOutMethod:4});

jsonp1319203225066({name:Process 1,countInRoutes:1,countOutRoutes:1,index:1,capacity:1,completed:0,routeOutMethod:1});
Run Code Online (Sandbox Code Playgroud)

我能看到的唯一可能影响结果的是"Process"和"1"之间的空格.是什么引发了这个错误?

javascript asp.net jquery jsonp

7
推荐指数
2
解决办法
3万
查看次数

在.NET中释放COM对象的"所有权"

我有一个客户/合作伙伴正在尝试使用我们公开的COM功能将他们的应用程序链接到我们的应用程序.到目前为止,他们有一个COM对象代表我们软件包的一个实例,然后使用我们的COM方法根据用户在应用程序中的操作以编程方式为用户构建一些东西.它本质上是一个"导出"功能.

他们要求我做的事情,我无法弄清楚如何做,是允许用户决定实例何时关闭.我的意思是当我们的软件包被加载时,它是可见的并且被用户与之交互.完成后,他们会自然地点击右上角的十字架退出软件.这不起作用,因为COM对象在其应用程序中仍处于"活动状态".我们的软件包只能通过终止任务管理器中的进程来关闭,同时通过COM加载它的应用程序仍然打开.一旦他们的申请退出,我们的申请将自动关闭.由于COM调用,似乎他们的应用程序"拥有"我们的应用程序.

我在C#中制作了一个快速演示应用程序,尝试使用无用的东西Marshal.FinalReleaseComObject(myObject).

我意识到使用COM来实现这种目的并不是它的目的,但希望有一些解决方法吗?客户/合作伙伴正在使用VB.NET,但C#很好.

c# vb.net com

6
推荐指数
1
解决办法
275
查看次数

如何在不事先知道其本地化名称的情况下使用Windows安全组?

我在网上搜索过,但找不到我想要的东西.基本上,在安装过程中,我们会启动一个单独的可执行文件,它基本上会强制为用户组"EVERYONE"启用一些文件夹进行读/写.

现在,写这篇文章的人从未考虑过系统语言.我曾与法国的一位客户打电话,导致安装失败,因为"每个人"都不是我们所期望的.

我正在对Windows进行API调用,返回一个在本地化环境中"安全"使用的安全组名称.基本上我想安全地编辑这段代码,而不是在"EVERYONE"中硬编码,我们称之为函数.

windows delphi winapi delphi-7

5
推荐指数
1
解决办法
248
查看次数

&符号(&s)和不同版本的Windows

因此,我发布了一个针对我们软件的快速修复程序,在一个功能区选项卡中有一个"Data _Rules",因为它是几个月前的某些人的标题.我发现在Windows Visa和Windows 7上我需要将标题写为"Data && Rules"而不是"Data&Rules",因为高于XP的版本会将第一个&符解释为快捷键.

但是,我刚接到一位顾问发来的电子邮件,说他正在使用Windows 7工作的人可以在选项卡上看到"Data && Rules".

处理这类事情的正确方法是什么?很明显,我检查操作系统版本并决定这种方式并不足以证明这一点.您以前是否必须处理此类事情?

我使用Delphi 7编写Delphi语言,但这可能是一个WIN32的东西.

谢谢!

windows delphi winapi delphi-7

4
推荐指数
1
解决办法
317
查看次数

如何使用包含特定字符串的CSS类向DIVS添加事件处理程序?

我希望能够为一些DIV元素添加一些onclick事件处理程序,这些元素由匹配特定字符串的CSS类设置样式.DIVS将用于特定类型的图像,其表示离散事件模拟中的工作中心,我希望用户能够点击,更改某些设置,然后再次运行模拟.

我正在使用一个很久以前开发的系统来处理这些图像,如下所示:

<div id="Decision__1" class="S8DisplayObject Image__for__Decision__1" style="top:35px; left:579px; width:118px; height:71px;"><div id="Decision__1_textData_2" class="S8Web-TextData" style="left:-136px; top:-12px;"><div class="noTextWrap">0</div></div><div class="sb_block_display"></div></div>
<div id="Decision__2" class="S8DisplayObject Image__for__Decision__2" style="top:35px; left:579px; width:118px; height:71px;"><div id="Decision__2_textData_2" class="S8Web-TextData" style="left:-136px; top:-12px;"><div class="noTextWrap">0</div></div><div class="sb_block_display"></div></div>
Run Code Online (Sandbox Code Playgroud)

所以它逐渐为每个类分配一个数字,在这种情况下,我想要比较的字符串就是Image__for__Decision.不幸的是,我无法深入研究这些CSS类的命名方式,因为它们是更大的转换过程的一部分.

任何提示将非常感谢!

javascript css jquery

1
推荐指数
1
解决办法
2004
查看次数

使用Delphi Ole Automation of Excel获取文本而不是价值

我想在Delphi 7中使用Ole Automation在Excel电子表格中提取给定范围内每个单元格的文本.

刚才我有一个函数(假设工作簿已经打开)从工作表中选择一个范围并使用.Value2函数填充Variant数组

function GetExcelRange(const AWorkbookIndex: integer; const AWorksheetIndex: integer; const firstCol, lastCol, firstRow, lastRow: integer): Variant;
var
 AWorkbook, ARange: OleVariant;
begin
 Result := Unassigned;
 if not VarIsEmpty(ExcelApp) then
 begin
  if ExcelApp.Workbooks.Count >= AWorkbookIndex then
  begin
   AWorkbook := ExcelApp.Workbooks[AWorkbookIndex];
   try
    if AWorkbook.Worksheets.Count >= AWorksheetIndex then
    begin;
     ARange := AWorkbook.WorkSheets[AWorksheetIndex].Range[AWorkbook.WorkSheets[AWorksheetIndex].Cells[firstRow, firstCol],
                                   AWorkbook.WorkSheets[AWorksheetIndex].Cells[lastRow, lastCol]];
     Result := ARange.Value2;
    end;
   finally
    AWorkbook := Unassigned;
    ARange := Unassigned;
   end;
  end;
 end;
end;
Run Code Online (Sandbox Code Playgroud)

我期望的是我可以改变行,Result := ARange.Text但它返回一个空对象.

我宁愿不在Ole对象处于活动状态时迭代每个单元格,并将整个范围的文本粘贴到一个数组中,就像我上面所做的那样.

delphi excel automation delphi-7 excel-2010

1
推荐指数
1
解决办法
8558
查看次数

从IDE中隐藏Delphi 7 COM命令,如Visual Studio?

我们公司有一大堆软件,它有很多非常有用的COM命令.我们有一个很好的基本设置,允许你基本上绕过GUI并获得你想要的信息,但我们也有一些已经为特定客户添加.

理想情况下,当我们的.exe被导入Visual Studio这样的东西时,我们想要将这些特定的COM命令"隐藏"给普通用户.因此,尽管他们是活跃的,但从理论上讲,唯一可以使用它们的人就是明确告诉他们的人.这将消除我们与客户使用的功能相关的许多问题,而这些功能并非真正设计为由他们使用,当然这意味着不必支持多个安装程序.

delphi com delphi-7

0
推荐指数
1
解决办法
161
查看次数

标签 统计

delphi ×4

delphi-7 ×4

com ×2

javascript ×2

jquery ×2

winapi ×2

windows ×2

asp.net ×1

automation ×1

c# ×1

css ×1

excel ×1

excel-2010 ×1

jsonp ×1

vb.net ×1