我正在尝试在用户单击HTML表格中的单元格时注册匿名函数.这是一些原始的,纯粹的代码:
document.getElementById(
"course"+displayed_year_index+occurrences_indices[displayed_year_index]).onclick =
eval("function() {PrintReceipt("+result.years[result_year_index].rul_code+");};");
Run Code Online (Sandbox Code Playgroud)
注意使用eval,因为它位于一个循环中,并且匿名函数每次都是不同的.
可以说,这在Firefox 2中运行得非常好.但是,Firefox 3会抛出"语法错误",指向"函数"一词后的括号内.
有没有人对如何解决这个问题有任何明智的想法?
为了清楚地说明我正在尝试做什么,这里有一个简单的例子:
for (index=0; index<4; index++) {
document.getElementById("div"+index).onclick =
eval("function () {Foo(index);};");
}
Run Code Online (Sandbox Code Playgroud)
换句话说,我希望触发相同的功能,每个参数值都有不同的参数值div.
javascript firefox closures anonymous-function event-handling
我们有一个简单的项目,我们从套接字读取数据,我们希望用即将到来的数据填充表,但是我们找不到向已创建的JTable对象添加行的方法,我们只能找到如何在表的创建时间.
是否可以动态地向a添加行JTable,或者有更好的替代对象来处理这种显示数据的方式?
编辑:非常感谢您的回答.
他们三个看起来很有前途,但我必须只选择一个,我认为最好的是Guillaume的.
这是一个适用于你们任何一个Doctrine用户的人.我有一个PHP CLI守护进程,每隔n秒检查一次表,以查找尚未处理的条目.它基本上是一个FIFO.无论如何,我总是超过分配给PHP的内存,因为Doctrine不会释放它的资源.为了解决这个问题,它为查询对象提供了免费.我似乎无法让它工作.这是代码:
22 print "You are using " . (memory_get_usage() / 1024). "\n";
23 $query = Doctrine_Query::create()
24 ->from('SubmissionQueue s')
25 ->where('s.time_acted_on IS NULL')
26 ->orderby('s.time_queued')
27 ->limit(1)
28 ->execute();
29 print $query[0]->time_queued . "\n";
30 $query->free();
Run Code Online (Sandbox Code Playgroud)
我有什么想法我做错了吗?
编辑:我使用的是1.0.3
编辑:我已经尝试了以下所有建议.unset()在我找到之前,我非常满怀希望free().
以下是可能有助于任何帮助的更多代码.在你质疑连接的打开和关闭之前,它将是生成孩子的守护进程,而且我经历过连接必须是唯一的.
1 <?php
2
3 require_once('/usr/local/lib/php/Doctrine/lib/Doctrine.php');
4
5 spl_autoload_register(array('Doctrine', 'autoload'));
6
7 $manager = Doctrine_Manager::getInstance();
8 $manager->setAttribute('model_loading','conservative');
9 Doctrine::loadModels('lib/model/master');
10
11 while(1){
12 print "You are using " . intval(memory_get_usage() / 1024) . "\n";
13 $manager->connection('********************************************','master'); …Run Code Online (Sandbox Code Playgroud) 它是什么以及如何在C#中使用.
你能在Python/Perl中使用相同的概念吗?
抛出以下错误:
com.sun.jdi.InternalException: Got error code in reply:35 occurred while retrieving value. for all expressions
Run Code Online (Sandbox Code Playgroud)
我收到所有表达式的错误,无法找到任何内容.我的猜测是调试器没有正确连接到远程版本,但我不确定.
我想获取Windows窗体应用程序的执行目录的路径.(即,可执行文件所在的目录.)
有谁知道.NET中的内置方法来做到这一点?
客户需要将每个数据更改记录到与进行修改的实际用户的日志记录表中.应用程序使用一个SQL用户来访问数据库,但我们需要记录"真实"用户ID.
我们可以在t-sql中通过为每个表插入和更新编写触发器,并使用context_info来存储用户ID来完成此操作.我们将用户标识传递给存储过程,将用户标识存储在contextinfo中,触发器可以使用此信息将日志行写入日志表.
我无法找到使用EF在哪里或如何做类似的地方或方式.所以主要目标是:如果我通过EF对数据进行更改,我想以半自动的方式将确切的数据更改记录到表中(因此我不想在每个字段之前检查更改)保存对象).我们正在使用EntitySQL.
不幸的是,我们必须坚持SQL 2000,因此SQL2008中引入的数据更改捕获不是一个选项(但也许这对我们来说也不是正确的方法).
任何想法,链接或起点?
[编辑] 一些注意事项:通过使用ObjectContext.SavingChanges事件处理程序,我可以得到我可以注入SQL语句来初始化contextinfo的点.但是我不能混合使用EF和标准SQL.所以我可以获得EntityConnection但我无法使用它执行T-SQL语句.或者我可以获取EntityConnection的连接字符串并基于它创建一个SqlConnection,但它将是一个不同的连接,因此contextinfo不会影响EF的保存.
我在SavingChanges处理程序中尝试了以下内容:
testEntities te = (testEntities)sender;
DbConnection dc = te.Connection;
DbCommand dcc = dc.CreateCommand();
dcc.CommandType = CommandType.StoredProcedure;
DbParameter dp = new EntityParameter();
dp.ParameterName = "userid";
dp.Value = textBox1.Text;
dcc.CommandText = "userinit";
dcc.Parameters.Add(dp);
dcc.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)
错误:EntityCommand.CommandText的值对StoredProcedure命令无效.与SqlParameter相同而不是EntityParameter:SqlParameter不能使用.
StringBuilder cStr = new StringBuilder("declare @tx char(50); set @tx='");
cStr.Append(textBox1.Text);
cStr.Append("'; declare @m binary(128); set @m = cast(@tx as binary(128)); set context_info @m;");
testEntities te = (testEntities)sender;
DbConnection dc = te.Connection;
DbCommand dcc = dc.CreateCommand();
dcc.CommandType = CommandType.Text;
dcc.CommandText …Run Code Online (Sandbox Code Playgroud) 目前我有两个MediaWikis,一个比另一个略旧的版本.我想将两者的内容合并在一起,而不会消除重复的页面.到目前为止,我能想到的最好的选择是使用机器人(如pywikipedia)浏览一个wiki的所有页面,并尝试将它们插入另一个,重命名重复的页面.
这个解决方案似乎需要一段时间才能完成.有没有更愉快的方式来做到这一点,我只是没有意识到?我没有直接使用MediaWiki数据库,所以我不太习惯在不知道我在做什么的情况下弄乱它.
我们在ASP.NET上有一个自定义REST处理程序,它配置如下,以处理所有传入的请求:
<add path="*" verb="*" type="REST.RESTProtocolHandler"/>
Run Code Online (Sandbox Code Playgroud)
但是,传递一个管道字符,正确编码或根本不编码,会触发一个似乎来自ASP.NET内部的验证错误.
访问http://localhost:8080/%7c或http://localhost:8080/|产生此错误:
[ArgumentException:path中的非法字符.] System.IO.Path.CheckInvalidPathChars(String path)+7489125 System.IO.Path.Combine(String path1,String path2)+40 System.Web.Configuration.UserMapPath.GetPhysicalPathForPath(String path) ,VirtualDirectoryMapping mapping)+114 System.Web.Configuration.UserMapPath.GetPathConfigFilename(String siteID,VirtualPath path,String&directory,String&baseName)+72 System.Web.Configuration.UserMapPath.MapPath(String siteID,VirtualPath path)+30 System. Web.Configuration.UserMapPath.MapPath(String siteID,String path)+31 System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPath virtualPath,Boolean permitNull)+297 System.Web.Hosting.HostingEnvironment.MapPathInternal(VirtualPath virtualPath,Boolean permitNull) +51 System.Web.CachedPathData.GetConfigPathData(String configPath)+341 System.Web.CachedPathData.GetVirtualPathData(VirtualPath virtualPath,Boolean permitPathsOutsideApp)+110 System.Web.HttpContext.GetFilePathData()+36 System.Web.HttpContext.GetConfigurationPathData()+26 System.Web.Configuration .RuntimeConfig.GetConfig(HttpContext context)+43 System.Web.Configuration.CustomErrorsSection.GetSettings(HttpContext context,Boolean canThrow)+41 System.Web.HttpResponse.ReportRuntimeError(Exception e,Boolean canThrow,Boolean localExecute)+101 System.Web .HttpRuntime.FinishRequest(HttpWorkerRequest wr,HttpContext context,Exception e)+383Web.HttpContext.GetConfigurationPathData()+ 26 System.Web.Configuration.RuntimeConfig.GetConfig(HttpContext context)+43 System.Web.Configuration.CustomErrorsSection.GetSettings(HttpContext context,Boolean canThrow)+41 System.Web.HttpResponse.ReportRuntimeError( Exception e,Boolean canThrow,Boolean localExecute)+101 System.Web.HttpRuntime.FinishRequest(HttpWorkerRequest wr,HttpContext context,Exception e)+383Web.HttpContext.GetConfigurationPathData()+ 26 System.Web.Configuration.RuntimeConfig.GetConfig(HttpContext context)+43 System.Web.Configuration.CustomErrorsSection.GetSettings(HttpContext context,Boolean …