问题列表 - 第20297页

如何检查对象引用是否仍然有效?

我有一个问题,我试图确定对象的引用是否有效.但它似乎正在回归奇怪的结果.

procedure TForm1.Button1Click(Sender: TObject);
  var form1 : TForm;
      ref2 : TControl;
begin
  form1 := TForm.Create(nil);
  form1.Name := 'CustomForm';
  form1.Parent := self; //Main Form

  form1.Show;

  ref2 := form1;
  showmessage(ref2.ClassName+' - '+ref2.Name+' - '+BoolToStr(ref2.visible,true));
  freeandnil(form1);
  showmessage(ref2.ClassName+' - '+ref2.Name+' - '+BoolToStr(ref2.visible,true));
end;
Run Code Online (Sandbox Code Playgroud)

第一个showmessage返回 - "TForm - CustomForm - True"(就像我期望的那样).

第二个showmessage回归 - "TForm - - False".我实际上希望某种访问违规,然后我可以陷阱并知道该引用无效.

在我的应用程序中,我需要在创建它们时编译随机TForm后代的列表,然后稍后检查它们是否已经消失(或者不可见).不幸的是,这是一个基于插件的系统,所以我可以改变所有这些表格来发布"我已完成消息".

像这样的代码是否可以安全使用(假设我实际上正在检查访问违规)?有没有人有任何想法发生了什么.

谢谢

delphi memory-management delphi-2009

4
推荐指数
2
解决办法
4978
查看次数

监控数据(互联网)使用情况

有没有办法监控每个应用程序使用多少数据(互联网)?

如果我无法监控应用程序是否有办法获取所有互联网请求信息?(获取数据传递,网址等)

(我想在我为iphone开发的应用程序中使用此信息)

iphone monitor

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

多个和单个索引

自从我使用MySQL多年以来,我有点羞于问这个问题,但是哦.

我有一个有两个字段的表,ab.我将在其上运行以下查询:

  • SELECT * FROM ... WHERE A = 1;
  • SELECT * FROM ... WHERE B = 1;
  • SELECT * FROM ... WHERE A = 1 AND B = 1;

从性能的角度来看,对于至少一个查询,至少有以下一种索引配置较慢?如果是,请详细说明.

  1. ALTER TABLE ... ADD INDEX (a); ALTER TABLE ... ADD INDEX (b);
  2. ALTER TABLE ... ADD INDEX (a, b);
  3. ALTER TABLE ... ADD INDEX (a); ALTER TABLE ... ADD INDEX (b); ALTER TABLE ... ADD INDEX (a, b);

谢谢(请注意,我们正在讨论非唯一索引)

mysql sql database indexing

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

删除标签中的最后一个单词

好吧,我有一个字符串,我想删除由\分割的最后一个字

例如:

string name ="kak\kdk\dd\ddew\cxz\"
Run Code Online (Sandbox Code Playgroud)

现在我想删除最后一个单词,以便我获得名称的新值

name ="kak\kdk\dd\ddew \"

是否有捷径可寻

谢谢

c#

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

bash,查找包含文件名号的文件

在bash中,我想使用该命令find查找在某个位置包含40到70之间的数字的文件,如c43_data.txt.如何实现此过滤器find

我试过了file . -name "c**_data.txt" | grep 4,但这不是很好.

谢谢

bash find

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

我可以将参数传递给std :: vector排序函数吗?

考虑班级:

MyClass {
    int varA;
    int varB;
};
Run Code Online (Sandbox Code Playgroud)

我有一个指向MyClass对象的指针向量:

std::vector<MyClass*> Vec;
Run Code Online (Sandbox Code Playgroud)

我想使用相同的排序函数根据varA或varB对向量进行排序,即:

bool SortFunction(const MyClass* obj1, const MyClass* obj2, const short type) {
     if( type == VARA_ID )
         return obj1->varA < obj2->varA;
     else if( type == VARB_ID )
         return obj1->varB < obj2->varB;
}
Run Code Online (Sandbox Code Playgroud)

AFAICT这是不可能的.如果不使用外部库,最优雅的方法是什么?

c++ sorting stl vector

13
推荐指数
2
解决办法
7042
查看次数

Eclipse - C++代码风格和标准定制和自动化

我正在使用Eclipse IDE for C/C++ Developer- Build id:20090920-1017

我们知道eclipse for C++为C/C++开发人员提供了内置的"编码辅助工具":

1)代码完成 - 自动完成/填充类或结构的方法名称或字段名称.自动填充类结构,for loops等

2)模板您可以为经常使用的代码段创建和保存模板,这些代码段将根据范围插入.内容辅助功能还可以快速访问代码模板.

3)C/C++样式简介:K&R,GNU等指定缩进,括号和其他样式问题.

您是否有为C++授权命名约定创建自己的C++ Style配置文件的经验?Eclipse配置文件是否可以有效地用于自动强制执行代码一致性?

(代码审查仍然是必需的,但更喜欢使用工具来获得命名约定,缩写等一开始)

谢谢,Jak

c++ eclipse coding-style

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

什么是C#中的单身人士?

非常直截了当的问题.

什么是单身人士,何时应该使用它?

.net c# singleton

170
推荐指数
7
解决办法
16万
查看次数

如何从模态对话框中获得响应?

我目前有这个:

Builder yesandno = new AlertDialog.Builder(this);           
yesandno.setTitle("QuickResponse");
yesandno.setMessage(message);
yesandno.setPositiveButton("YES", null);
yesandno.setNegativeButton("NO", null);
yesandno.show();
Run Code Online (Sandbox Code Playgroud)

如何通过设置一个事件监听器来捕获用户单击是或否?

java android

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

C编译器如何实现返回大型结构的函数?

函数的返回值通常存储在堆栈或寄存器中.但对于大型结构,它必须在堆栈上.在这个代码的真实编译器中必须进行多少复制?还是优化了?

例如:

struct Data {
    unsigned values[256];
};

Data createData() 
{
    Data data;
    // initialize data values...
    return data;
}
Run Code Online (Sandbox Code Playgroud)

(假设函数无法内联..)

c compiler-theory abi calling-convention compiler-optimization

24
推荐指数
3
解决办法
6767
查看次数