问题列表 - 第12657页

如何关闭动态创建的CDockablePane窗口?

在我的MFC(Feature Pack)应用程序中,可以动态创建停靠窗格以显示图表/表格等.
但是,我不想让用户打开相同的东西两次.

我创建一个像这样的窗格:

// Create CMyDockablePane pPane
pPane->Create(...);
pPane->EnableDocking(CBRS_ALIGN_ANY);
// Create CRect rcPane
pPane->FloatPane(rcPane);
Run Code Online (Sandbox Code Playgroud)

这似乎工作正常.

这就是我尝试检查窗格是否已存在的方法.窗格由其类型(类)和参数标识.

BOOL CanOpenPane(const type_info & paneType, const CMyParameter & parameter) const
{
    CMainFrame* pFrm = GetMainFrame();
    CDockingManager* pDockMan = pFrm->GetDockingManager();


    // Check if there already is a pane of the same type which also has the same parameter.
    bool canOpen = true;
    CObList panes;
    pDockMan->GetPaneList(panes);
    POSITION pos = panes.GetHeadPosition();
    while (pos)
    {
        CMyDockablePane* pPane = dynamic_cast<CMyDockablePane*>(panes.GetNext(pos));
        if (NULL == pPane) { continue; }

        if …
Run Code Online (Sandbox Code Playgroud)

c++ docking mfc-feature-pack pane

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

这个查询可以改进吗?

请看下面的SQL代码.

DECLARE @RET TABLE(OID BIGINT NOT NULL,rowid bigint identity);
DECLARE @ResultTbl TABLE(OID BIGINT,sOID BIGINT,partkey bigint);

DECLARE @PATOID as VARCHAR(4000)

SET @PATIENTOID= '95,96,192,253,110,201,201,83,87,88,208,208,208,208'
INSERT INTO @RET SELECT OID FROM dbo.FGETBIGINTLIST(@PATOID )


DECLARE @NoOfRows bigint
DECLARE @InOID bigint
select @NoOfRows =  max(rowid) from @RET

while (@NoOfRows >=1)
begin
     select @InOID = oid from @RET where rowid=@NoOfRows
    insert into @ResultTbl 
            select * from fresolve_11(@InOID)
    set @NoOfRows = @NoOfRows - 1

end

SELECT * FROM @RET 
SELECT * FROM @ResultTbl 
Run Code Online (Sandbox Code Playgroud)

函数FGETBIGINTLIST接受逗号分隔值作为参数,并以表格格式返回值..就像

OID …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2005 query-optimization

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

如何使文件完全不可变(不可删除和只读)?

我需要使文件真正只读 - 保持原样.没有删除,没有任何东西.

(设置'ReadOnly'属性不是一个选项)

我现在看到一些方法:

  1. 使用程序保持文件打开.缺点:可以杀死进程然后文件关闭.

  2. 使用程序设置安全属性.缺点:可以删除文件.此外,可以更改属性.

有任何想法吗?此外,将会感谢示例代码(最好在Delphi中).

更新:感谢目前为止的所有答案.他们真的很棒.我意识到我不是很清楚.我们要解决的问题是:

有一些类似.txt的文件包含敏感信息.我们的客户希望确保这些文件不会在其计算机上"幕后"更改.我们应该提一下,他们的PC很容易被恶意软件感染,专门用来做这件事.我们的客户应该能够使用记事本,写字板等打开这些文件,但他们接受这些文件是只读的.如果我们的任何客户采取决定性的行动,如进入"安全模式"等,并从他们的责任篡改文件.我们应该防范任何恶意软件,包括零日攻击.(因此,经典的防病毒解决方案并不合适).

你能给出一些想法吗?

PS:我最诚挚的道歉,从一开始就不那么清楚.

windows delphi security winapi

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

递归读取文件夹并对每个文件夹执行命令

我正在尝试使用bash脚本递归文件夹并对它们运行命令.有什么建议?

bash shell

21
推荐指数
4
解决办法
5万
查看次数

在PHP中注册"逗号,空格或每行一个"?

我的网页上有一个textarea字段.我接受用户输入,我想解析用户输入"(通过COMMAS,SPACES或者每行一个)"这一行.

基本上我想要获取由逗号,空格或每行一个分隔的单词.对于我可以使用的RegEx可以使用如下:

preg_split('/[,; " "]+/', $_tags);
Run Code Online (Sandbox Code Playgroud)

我已经使用regEx来分隔用户输入的标签.什么是regEx从字符串中获取单词"(通过COMMAS,SPACES或者每行一个)"

谢谢

php regex

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

ASP.NET MVC架构

我对ASP.NET MVC中的体系结构感到好奇.我应该如何从数据库中获取数据?ASP.NET视频和教程显示所有数据都应该在模型中处理,所以我认为这是要走的路.我开始从事新工作,他们更喜欢在控制器中获取数据.

什么是最正确的方法?我知道这可能导致很长的答案,所以如果你知道任何网站,文章,博客或者什么和主题,欢迎你发帖:)

提前致谢.

architecture asp.net-mvc

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

JavaScript中的"常用"函数与函数变量

两者之间有什么区别吗?

function MyFunc() {
    // code...
}
Run Code Online (Sandbox Code Playgroud)

var MyFunc = function() {
    // code...
};
Run Code Online (Sandbox Code Playgroud)

在JavaScript?

javascript

22
推荐指数
2
解决办法
1345
查看次数

当用户关闭(弹出)窗口时调用一些JavaScript

用户关闭窗口时是否可以调用一些JS?

我搜索了JS事件处理程序,发现只有onunload,每当用户离开页面时调用脚本,不一定关闭窗口.

预期用途是调用一个AJAX脚本,该脚本取消设置与弹出窗口相关的几个会话.可能有也可能没有更好的方法来实现这一目标?

我找到了这个DevShed线程,其中声明这可以通过JS实现,但它并没有解释如何调用脚本.

不幸的是,大多数谷歌搜索这个解决方案会带来window.close,这实际上与我需要的相反!

javascript php session

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

Fortran函数和返回值

如何在Fortran中编写一个函数,它将输入和输出都作为参数?例如:

fun(integer input,integer output)
Run Code Online (Sandbox Code Playgroud)

我想利用输出值.我尝试过这样的东西,但输出变量没有保持值.

具体来说,我从Fortran调用一个C函数,它将输入和输出作为参数.我能够成功传递输入值,但输出变量没有获取值.

fortran

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

如何从const方法生成非const方法?

在努力保持正确性的同时,我经常发现自己正在编写这样的代码

class Bar;

class Foo {
public:
  const Bar* bar() const { /* code that gets a Bar somewhere */ }

  Bar* bar() {
    return const_cast< Bar* >(
      static_cast< const Foo* >(this)->bar());
  }
};
Run Code Online (Sandbox Code Playgroud)

对于很多方法,比如bar().编写这些非const方法,手动调用常量方法是乏味的; 此外,我觉得我在重复自己 - 这让我心疼.

我该怎么做才能减轻这个任务?(不允许使用宏和代码生成器.)

编辑:除了litb的解决方案,我也喜欢我自己的解决方案.:)

c++ dry const-correctness

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