我知道你可以使用.NET或Java的pHash,但我想要一个纯.NET(最好)或Java实现.还有其他可用的吗?我特别感兴趣的是图像散列功能.
感知散列是一种创建图像数字散列的方法,然后能够比较这些散列以查看图像是否相似.它允许真正快速的图像识别.
在C和C++中,变量可以标记为volatile,这意味着编译器不会对其进行优化,因为它可以在声明对象外部进行修改.在Delphi编程中是否有相同的东西?如果不是关键字,也许可以解决?
我的想法是使用绝对,但我不确定,这可能会引入其他副作用.
在Delphi中,Image Base链接器选项默认为00400000.
根据帮助:
指定已编译映像的首选加载地址.通常仅在编译DLL时更改此值.默认= 400000
在EXE上更改它没有效果吗?效果会是什么?地址是相对于每个进程的吗?
如果您有进入德尔福土地或Qt土地的差异,您会选择哪种?我知道他们不是完全可比的.我有一个使用Builder C++(几乎是Delphi)和MFC(几乎是Qt)的Windows开发经验,还有更多时间使用Builder C++.请在分析中取出Qt的跨平台能力.
我希望能够回复曾与他们合作的人以及他或她如何比较框架,环境等等?
提前感谢您的回复.
前几天我正和一位同事谈论如果你真的搞砸了,你怎么能在Delphi中泄漏字符串.默认情况下,字符串是引用计数和自动分配的,因此它们通常无需任何考虑即可工作 - 无需手动分配,大小计算或内存管理.
但我记得曾经读过有一种方法可以直接泄漏一个字符串(不包括在被泄漏的对象中).看起来它与通过引用传递字符串然后从传递给它的例程中的更大范围访问它有关.是的,我知道这很模糊,这就是为什么我在这里问这个问题.
Delphi 8引入了类助手,用于将VCL/RTL映射到.NET对象层次结构.它们允许将方法注入到现有类中,而不会覆盖类或修改原始类.后来的Delphi版本发现了类帮助程序的改进,并将它们移植到Win32.
在帮助中,它说:"在开发新代码时,不应将它们视为一种设计工具."
班级助手违反了传统的OOP,但我认为这不会使他们成为一件坏事.这个警告是否合理?
在开发新代码时是否应该使用类助手?
在开发新代码时是否使用它们?
为什么或者为什么不?
Per Malcolm的评论:新代码意味着每日应用程序开发,你有一些第三方库,一些现有代码,然后是你正在编写的代码.
我们正在创建一个开源的Twitter客户端,并且正在寻找一种可以与Delphi 一起使用的最小占用空间的嵌入式数据库,这非常适合全文搜索(我知道这不会很小).理想情况下它应该是免费的或开源的(要求我知道).
我倾向于SQLite,但我之前没有使用它,也不知道它是否支持全文搜索,或者它与Delphi的工作情况如何.我之前使用过DBISAM,它嵌入了全文搜索,但不是免费的. Firebird是我们考虑的另一种选择.
可能有一个组合使这项工作.您将使用什么,以及如何评价1)足迹,2)全文搜索,3)免费/开源.
更新:感谢大家的建议.有很多好的选择可供选择.
我想定义一个具有两个特殊属性的自定义异常:Field和FieldValue,我希望从异常构造函数中的这两个值构建消息.不幸的是,消息是只读的.
这就是我所拥有的,但它仍然需要传递消息.
public class FieldFormatException: FormatException
{
private Fields _field;
private string _fieldValue;
public Fields Field{ get{ return _field; } }
public string FieldValue { get { return _value; } }
public FieldFormatException() : base() { }
private FieldFormatException(string message) { }
public FieldFormatException(string message, Fields field, string value):
base(message)
{
_fieldValue = value;
_field = field;
}
public FieldFormatException(string message, Exception inner, Fields field, string value):
base(message, inner)
{
_fieldValue = value;
_field = field;
}
protected FieldFormatException(System.Runtime.Serialization.SerializationInfo info, …
Run Code Online (Sandbox Code Playgroud) 我有一个固定的常数数组
constAry1: array [1..10] of byte = (1,2,3,4,5,6,7,8,9,10);
Run Code Online (Sandbox Code Playgroud)
和一个动态数组
dynAry1: array of byte;
Run Code Online (Sandbox Code Playgroud)
将值从constAry1复制到dynAry1的最简单方法是什么?
如果你有一个const数组(多维),它会改变吗?
constArys: array [1..10] of array [1..10] of byte = . . . . .
Run Code Online (Sandbox Code Playgroud) 使用Delphi启动新项目时如何提高生产力?
对我来说,我创建了一个模板项目,包括启动画面,带有默认组件的主数据模块和所有数据感知子程序(打开,关闭,查询,无法打开数据库时的默认值等),并将模板保存在我的存储库中.(我在项目中使用了所有自己的框架和单元,所以当我选择时,所有内容都会自动创建:New Project并选择我的模板.)
问题:
请原谅我以前曾问过这个问题.
delphi ×8
.net ×2
arrays ×1
c ×1
c# ×1
const ×1
delphi-2009 ×1
dll ×1
exception ×1
executable ×1
hash ×1
java ×1
memory-leaks ×1
memory-model ×1
oop ×1
phash ×1
qt ×1
string ×1
twitter ×1
volatile ×1