小编Joh*_*ica的帖子

DataGrid也支持树视图

您是否知道任何支持树视图的类似数据网格的控件.像这样(但仍然完全WPF样式/可模仿):

更新:UI虚拟化将是另一个重要功能.

在此输入图像描述

wpf treeview datagrid

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

在旧Borland C中使用Visual C++ DLL?

我必须使用旧的Borland编译器(BC 5)支持用C编写的旧应用程序.

不幸的是,我们使用的旧TCP/IP库开始显示它的年龄,并且遇到了Vista和Win7机器的问题.

我有一个新的MS Visual C++函数库,我想用它来制作一个可以从Borland C调用的DLL.

所以,我有两个问题:1)如何使一个Visual C++ DLL可以从Borland C程序调用,2)如果它是可调用的,如何从普通的旧C调用C++函数?

理想情况下,整个项目应该转换为Visual C,但是有许多遗留功能可以使该项目成为一项重大任务!我正在寻找一个快速的补丁来让它保持活力一段时间:)

史蒂夫

c c++ dll visual-c++ turbo-c

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

NOW()是一个稳定的功能吗?

如果我做

INSERT INTO table1 (datetime1, datetime2) VALUES (NOW(),NOW())
Run Code Online (Sandbox Code Playgroud)

两列中的两个字段是否始终相同?

同上

INSERT INTO table1 (datetime1, datetime2) VALUES (NOW(),NOW())
                                                ,(NOW(),NOW()) 
Run Code Online (Sandbox Code Playgroud)

是否所有四个数据库条目都具有相同的值,或者row1 <> row2可能?

请注意,这是一个理论问题,而不是一个work-around问题.
我真的很想知道如何以及为什么.

sql database-agnostic

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

如何在不区分大小写时指示Rails在唯一性验证上生成正确的SQL

使用具有Case Insensitive排序规则的MySQL DB假设Rails 3

发生了什么:

Rails允许您使用"唯一性"验证器验证模型的属性.但根据Rails文档,默认比较是CASE SENSITIVE.

这意味着在验证时它会执行如下SQL:

SELECT 1 FROM `Users` WHERE (`Users`.`email` = BINARY 'FOO@email.com') LIMIT 1
Run Code Online (Sandbox Code Playgroud)

对于拥有CI Collat​​ion数据库的我来说,这是完全错误的.它会认为'FOO@email.com'有效,即使在Users表中已有另一个用户'foo@email.com'的用户也是如此.换句话说,这意味着,如果应用程序的用户尝试使用电子邮件"FOO@email.com"创建新用户,则对于Rails,这将完全是VALID(默认情况下),并且INSERT将被发送到db.如果你没有碰巧在电子邮件上有唯一的索引,那么你很兴奋 - 插入行将没有问题.如果您碰巧拥有唯一索引,则会抛出异常.

好.Rails说:由于您的数据库具有不区分大小写的排序规则,因此请执行不区分大小写的唯一性验证.这是怎么做到的?它告诉您可以通过在特定属性验证器上设置":case_sensitive => false"来覆盖默认唯一性比较灵敏度.在验证时,它会创建以下SQL:

SELECT 1 FROM `Users` WHERE (LOWER(`Users`.`email`) = LOWER('FOO@email.com') LIMIT 1
Run Code Online (Sandbox Code Playgroud)

这是数据库表上的DISASTER您设计为在电子邮件字段上具有唯一索引的用户,因为它不使用索引,所以执行全表扫描.

我现在看到的是,LOWERSQL函数是由插入UniquenessValidatorActiveRecord(文件uniqueness.rb,模块ActiveRecord,模块ValidationsUniquenessValidator).以下是执行此操作的代码段:

if value.nil? || (options[:case_sensitive] || !column.text?)
  sql = "#{sql_attribute} #{operator}"
else
  sql = "LOWER(#{sql_attribute}) = LOWER(?)"
end
Run Code Online (Sandbox Code Playgroud)

所以问题转到Rails/ActiveRecord而不是MySQL Adapter.

问题:有没有办法告诉Rails传递关于MySQL适配器的唯一性验证区分大小写的要求,而不是"聪明"地改变查询?或者 为了澄清而重复的问题:是否有另一种方法可以对属性实现唯一性验证(请小心,我只是不谈电子邮件,电子邮件就是一个例子),区分大小写和生成在相应列上使用简单唯一索引的查询?

这两个问题是等价的.我希望现在,我能让自己更清楚,以便获得更准确的答案.

mysql ruby-on-rails

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

如何在Firemonkey应用程序中设置OpenGL1.4环境?

在过去的日子里,我会创建一个TForm,在其上放置一个TMyPanel(覆盖WM_PAINT消息)并将其Handle传递给一堆WGL函数,这些函数找到兼容的pixelformat并创建渲染上下文.就像NeHe教程一样.

现在有FireMonkey应用程序.如何在Win和iOS上运行OpenGL 1.4渲染上下文?

编辑:试图通过传递TForm.Handle(这是NativeUInt)使其工作.好消息 - OpenGL没有错误,但坏消息 - 在TForm上也没有输出..我显然在这里缺少一些关键部分,是否有人在Fi​​reMonkey应用程序中有一个可用的OpenGL?

delphi opengl delphi-xe2 firemonkey

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

ImageList向我承诺Alphablending,但我如何启用它?

我希望我的按钮上有alphablending图像.
按照指示,我TXPManifest在我的mainform中包含了一个组件.
下面是我加载到项目中的一些图像.

图像列表编辑器

然而,我BitBtn通过ActionList链接到图像列表仍然看起来.

BitBtn已关闭 << - 在运行时看起来像这样,Yikes!

如何在我的Windows 7笔记本电脑上运行Delphi 2007来实际使用ImageList不断取笑我的alpha通道

为响应@RRUZ,以下是imagelist属性:
在此输入图像描述
(注意没有colordepth财产)

编辑
alpha混合确实与TMS一起使用AdvGlowButton:AdvGlowButton与alphablending正确
因此它可能不是ImageList问题,因为它是BitBtn问题.

更新2
下载并安装PngComponents.把一个TPNGImageList空白表格上瞬间崩溃D2007.(也许在设置/路径/等等中,但我离原始问题太远了,所以我放弃了png追求).
所以这不起作用.

delphi alphablending delphi-2007

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

如何从Windows控制面板定义位置和显示语言

在此输入图像描述

德尔福xe.

对于Tab Administrative- Unicode lang
使用GetSystemDefaultLangID

对于Tab Formats-
使用GetUserDefaultLangID

但是我对For Tab使用了Location什么?

对于
Vista及更高版本的"键盘和语言"选项卡:带有键LOCALE_CUSTOM_UI_DEFAULT的Getlocaleinfo

Function GetLocaleInformation(flag: integer): string;
var
  pclca: array[0..20] of char;
begin
  if (GetLocaleInfo(
      //locale_system_default - Always identical values returns
      LOCALE_CUSTOM_UI_DEFAULT // work only Vista-Win7, not Xp **
      ,flag,pclca,19) <= 0 ) then begin
    pclca[0] := #0;
  end;
  Result := pclca;
end;
Run Code Online (Sandbox Code Playgroud)
  1. 如何在Xp + Win7中定义位置和在Xp中显示语言?
  2. 可以是为Xp和Win7定义"显示语言"的通用密钥
  3. 如何接收已建立的界面语言列表?

delphi locale

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

如何以编程方式安排任务

如何使用delphi 7(如Google更新程序)安排任务?
我没有使用注册表,因为它被卡巴斯基反病毒软件检测为虚警.
我在注册表中添加的任何启动项都会被检测为特洛伊木马,因此我决定使用任务计划

delphi scheduled-tasks delphi-7

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

在编译时播放声音

编译(制作或构建)通常需要几秒钟或几分钟.

我想设置我的IDE,RAD Studio XE2,在完成编译时播放声音.如果我可以在编译成功或失败的情况下设置不同的声音,那就更好了.

delphi audio c++builder

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

Delphi - 使用泛型的接口继承

我目前陷入编译错误,我们公司没有人可以提供帮助,我很遗憾没有找到SO或谷歌的正确搜索模式.

作为代码,我使用2个接口,继承和2个类,继承.以下代码重现错误:

program Project22;

{$APPTYPE CONSOLE}
type
  IStorageObject = interface(IInterface)
  end;
  TObjectStorage<T: IStorageObject> = class(TObject)
  end;
  IKeyStorageObject<TKey> = interface(IStorageObject)
  end;
  TKeyObjectStorage<TKey, T: IKeyStorageObject<TKey>> = class(TObjectStorage<T>)
  end;
  TImplementingClass<TKey> = class(TInterfacedObject, IKeyStorageObject<TKey>)
  end;
begin
  TKeyObjectStorage<Integer, TImplementingClass<Integer>>.Create;
end.
Run Code Online (Sandbox Code Playgroud)

'TKeyObjectStorage'的编译错误是:

[DCC错误] Project22.dpr(11):E2514类型参数'T'必须支持接口'IStorageObject'

我认为,编译器没有正确识别类'TKeyObjectStorage'的参数T. 它应该是正确的,因为想要的Type'IKeyStorageObject'具有父类型IStorageObject.

为什么这不起作用?我究竟做错了什么?这在德尔福是不可能的吗?

delphi generics inheritance delphi-xe2

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