尽管通过TOpenDialog提供了文件选择对话框,但在Delphi 2009中似乎没有可用于创建文件夹选择对话框的简单组件.
使用Delphi创建现代文件夹选择对话框的最常用方法是什么?
我正在忙着编写一个为宿主应用程序提供多种功能的DLL.此应用程序动态调用dll,在每次函数调用后加载并释放它.
我无法控制主机应用程序.我只能在dll中工作.有没有办法可以将某些变量保存在内存中,以便我可以在每个函数中重用它们?当主机应用程序卸载dll时,显然会清除全局变量.将dll保存到文件听起来非常混乱!
任何人都可以建议一种分配变量的方法吗?
谢谢
我公司在我们的一个产品中使用ElevateDB.但是,我们的数据库只是一堆表.最近,随着更多功能的设计和更多模块的添加,我们发现我们的数据不再是"一堆不相关的表",而是开始是真正的数据结构.
我以前没有使用ElevateDB的经验,我主要使用Oracle,MSSQL和Firebird.所以问题是 - 如果我们想要重组表结构以具有外键约束并实现关系完整性,那么ElevateDB上常见的陷阱是什么?我不是在询问有关关系数据库的一般问题,但我对ElevateDB有兴趣并且不感兴趣.
我们使用Delphi 2009作为客户端应用程序.
我怎样才能找到TGridPanel里面控件的位置(行和列索引)?我想对按钮的数量使用常见的OnClick事件,并且需要知道按钮的X,Y位置.
我正在使用Delphi 2007.
我正在使用DevExpress的TcxGridDBTableView.有些单元格包含非常长的字符串,所以我希望能够使用提示向用户显示它们.我希望能够在我的文本中以分号的形式提示线刹.
你知道怎么做到这一点吗?
是否可以将TDateTimePicker的字体设置为斜体?我在这段代码中这样做
var
DatEdit : TDateTimePicker;
begin
//I know Canvas is a stupid name for TPanel
DatEdit:=TDateTimePicker.Create(Canvas);
DatEdit.OnEnter := CtrlInputProc;
DatEdit.OnExit := CtrlExitProc;
DatEdit.Enabled := false;
DatEdit.Font.Style := DatEdit.Font.Style + [fsItalic]; //this line creates an exception
DatEdit.Parent := Canvas;
end;
Run Code Online (Sandbox Code Playgroud)
每次代码执行最后一行时,都会抛出一个带有消息的EInvalidOperation异常:
„Control” has no parent window.
Run Code Online (Sandbox Code Playgroud)
这是Delphi 5的功能,还是我做错了什么?
我有一个示例类:
class SampleClass
{
public virtual string SomeProperty{get; set;}
public virtual void SomeMethod() {
// code
}
}
Run Code Online (Sandbox Code Playgroud)
我可以继承它并覆盖SomeProperty和SomeMethod,如下所示:
class ChildClass:SampleClass
{
public override string SomeProperty{get; set;}
public override void SomeMethod() {
// code
}
}
Run Code Online (Sandbox Code Playgroud)
有什么方法可以覆盖一个对象,而不是一个类?喜欢
SampleClass sampleObject = new sampleObject();
Run Code Online (Sandbox Code Playgroud)
并且sampleObject.SomeMethod()是唯一的吗?谢谢.
delphi ×7
vcl ×4
delphi-2009 ×3
c# ×1
constraints ×1
delphi-2007 ×1
delphi-5 ×1
devexpress ×1
dll ×1
foreign-keys ×1
object ×1
tcxgrid ×1
tgridpanel ×1
topendialog ×1