我有一个能够插件(MEF)的应用程序.插件是导入服务的WPF UserControls.
用户可以从应用程序的主菜单中选择所需的插件.
为此,我使用以下循环:
foreach(IToolPlugin Plugin in ToolPlugins)
{
Plugin.Init();
MenuItem PluginMenuItem = Plugin.MenuItem; //New MenuItem but with Header set.
PluginMenuItem.Click += new RoutedEventHandler(delegate(object o, RoutedEventArgs e) { DoSomething(Plugin.Control);});
PluginsMenu.Items.add(PluginMenuItem);
}
Run Code Online (Sandbox Code Playgroud)
这对于单个项目非常好.但是,只要我有一个以上的插件,所有菜单项都会执行最后一个循环的委托.或者至少使用最后一个循环的Plugin.Control.
我怎样才能解决这个问题?
谢谢你的帮助.
我有一个webapp,在iPhone/iPad上显示许多被识别为电话号码的长号码.我使用apple参考中提到的元标记来禁用它:
<meta name="format-detection" content="telephone=no"/>
Run Code Online (Sandbox Code Playgroud)
但是如果我正常加载或重新加载页面,这不起作用.当我用ajax重新加载页面的一部分时,它突然起作用,数字是普通文本.但是当我重新加载页面时,数字又是链接.如果加载ajax的内容与ajax请求之前的内容完全相同,也会发生这种情况.
如果我在浏览器中查看页面(而不是webapp),它从一开始就可以正常工作.
你知道为什么会这样,我怎么能解决它?有没有其他方法可以强制数字不是链接.
谢谢你的帮助.
我有一个Delphi 2007程序,它调用Delphi 2010 DLL.该计划很大,尚未移植到2010年,所以我现在无法改变这一点.
我使用SimpleShareMem Unit传递字符串,但也尝试使用borlndmm.dll ShareMem.
对于一个函数,我现在将一个字符串从Delphi 2007程序传递给dll(因此AnsiString).调试dll时,此AnsiString看起来很正常,可以在监视列表中查看.但如果我做一个简单的想法
AnAnsiString := PassedAnsiString;
Run Code Online (Sandbox Code Playgroud)
变量AnAnsistring获取值'???????'#0#0#0'???A',但PassedAnsiString在监视列表中仍然可读.还有一个字符串追加
AnAnsiString := PassedAnsiString + NotPassedAnsiString;
Run Code Online (Sandbox Code Playgroud)
使用'???????'#0#0#0'???A'的价值.
问题出在哪儿?这是2007年< - > 2010年的问题吗?怎么解决?感谢帮助.
现在,我试图在delphi程序中删除一些旧的搜索代码,我想将搜索推送到程序正在使用的sql-server.为此,我创建了这个查询,这与我在不同的C#程序中使用的查询非常相似.
使用SQL Management Studio或C#程序查询工作得很好,但是使用Delphi我得到一个"Cursor not from query from"错误.
这是查询
DECLARE @SearchString NVARCHAR(MAX);
SET @SearchString = ':Param1';
IF @SearchString = '' SET @SearchString = '%';
--Table for splitted values
DECLARE @SearchItms TABLE
(
Item NVARCHAR(MAX)
)
--Split Operator
DECLARE @SplitOn NVARCHAR(MAX)
SET @SplitOn = ' '; --Split Keywords on space
--Splitting
While (Charindex(@SplitOn,@SearchString)>0)
Begin
Insert Into @SearchItms (Item)
Select ('%' + Substring(@SearchString,1,Charindex(@SplitOn,@SearchString)-1) + '%')
Set @SearchString = Substring(@SearchString,Charindex(@SplitOn,@SearchString)+1,len(@SearchString))
End
--Add last Item
Insert Into @SearchItms (Item)
Select ('%' + @SearchString + …Run Code Online (Sandbox Code Playgroud) 我想从dd/mm/yy格式的日期解析中间的2位数字,但也允许日期和月份的单个数字.
这就是我想出的:
(?<=^[\d]{1,2}\/)[\d]{1,2}
Run Code Online (Sandbox Code Playgroud)
我想要一个带有1或2位数字[\d]{1,2}的1位或2位数字,并^[\d]{1,2}\/在它前面斜线.
这并不对许多组合工作,我已经测试10/10/10,11/12/13等...
但令我惊讶的是(?<=^\d\d\/)[\d]{1,2}工作.
但[\d]{1,2}如果\d\d这样做也应该匹配,或者我错了?
我想在我的mssql存储过程中使用一个参数来在小的和详细的结果之间切换(出于可维护性,性能和网络负载的原因).
如果参数设置为1,我将获得所有列,否则只有一个或两个最重要的列.它的工作方式非常有限:
ALTER PROCEDURE [dbo].[GetAllUsers]
@detail BIT
AS
IF @detail = 1 SELECT UserName, Title, UserID FROM Users
ELSE SELECT Username FROM Users
Run Code Online (Sandbox Code Playgroud)
但我想使用合并的WHEN子句.以下是我尝试过的,但这不起作用.
ALTER PROCEDURE [dbo].[GetAllUsers]
@detail BIT
AS
CASE @detail
WHEN 1 THEN SELECT UserName, Title, UserID
ELSE SELECT UserName END
FROM Users
WHERE UserID < 5
Run Code Online (Sandbox Code Playgroud)
有没有办法实现这样的事情?