Firemonkey使我们能够为我们的应用程序添加样式,矢量图形,位图,效果,动画等.但我不是设计师,所以我需要雇一个来做这些奇特的工作.但据我所知,所有的设计工作都在IDE中完成.
是否有一种简单的方法可以让设计人员处理项目而无需拥有Delphi XE2的副本和源代码的完整副本?
(是的,他们可以编辑.style文件,但这不完全是视觉或方便).
使用Delphi(或者通常是任何工具,如果存在的话),是否可以减小exe文件的大小,删除所有未使用但存在的代码?
(例如,存在但从不调用的函数或过程).
我记得使用Pascal,使用unit(没有对象),编译器只包含真正使用的过程和函数,并将从最终的exe中删除单元中未使用的例程.
使用Object-pascal,我记得在Delphi 1中,一个对象的所有成员都包含在exe中;
有什么变化,直到Delphi-XE2?
在Delphi XE2 LiveBindings中,我需要将任何类型的VCL控件绑定到任意(非组件)对象上的任何类型的属性.我可以单向做到这一点.但我需要双向进行.
假设我想将TPerson.PersonName:string绑定到TEdit.Text.
我现在拥有的很简单.
第一个按钮在第一个方向上绑定.第二个按钮似乎永远不会将值写回person1.PersonName属性.
我已经尝试了通知代码,绑定方向,绑定类型,表达式,SourceMember等.有时我在bindexpression配置中得到运行时错误,其余时间绑定只是单向的.
我希望单击第二个按钮,看到写入person1.PersonName的Edit1.Text的内容.
如果我必须从代码中完成所有这些,我会考虑它并且这样的例子是受欢迎的,但我真的想通过设计师尽可能地做到这一点.
请注意,我对两个控件之间的绑定不感兴趣.
另请注意,我已经下载并检查了LiveBinding示例项目,但没有找到任何执行此操作的项目.如果这是错误的,请在指出时具体说明.我也读过DocWiki.除了使用DB LiveBinding控件之外,它不包括双向绑定.我没有使用DB LiveBinding控件,也没有使用DataSet.所以,除非你能向我解释为什么要使用它们,否则我不需要任何有关这些控件的信息.
begin
当我使用该Format Source
选项时,如何配置RAD Studio IDE以使用相同行或下一行格式化我的代码?
最常见的偏好之一是begin
- 在同一条线上或它自己的线上的位置.如何设置Delphi begin
在Delphi XE2中使用一行或另一行格式化源代码?这是指当你去Edit
>时Format Source
您好Delphi XE2 TComponent有一个新的"Observers"属性.不幸的是,这方面的帮助条目是空的.有谁知道这个新房产有什么用处以及如何使用它?编辑:我知道它与LiveBindings有关,但我想更多地了解它,因为我无法访问XE2源代码,所以我无法调查自己.
在Delphi XE2中链接我的项目时出现以下错误.重新创建.dproj文件没有帮助.
[DCC Hint] H2161 Warning: Duplicate resource: Type 24 (user-defined), ID 1; File resource <filename>.res kept; file c:\program files\embarcadero\rad studio\9.0\lib\Win32\release\WindowsXP.res resource discarded.
怎么解决?谢谢您的帮助!
我希望有以下内容:
TEnumType = (
etValue1 = 1,
etValue2 = 2 deprecated,
etValue3 = 3);
Run Code Online (Sandbox Code Playgroud)
它返回:
[DCC Error] unt_CollectionImportType.pas(19): E2029 ',' or ')' expected
but identifier 'deprecated' found.
Run Code Online (Sandbox Code Playgroud)
有没有办法指示编译器不推荐使用此值.
我们有一个由众多应用程序组成的系统.所有应用程序的版本都同时更改.目前,当我们发布新版本时,我们必须手动打开每个应用程序的项目选项并逐个更改版本.有没有办法在同一版本上编译所有应用程序,例如,将其保存在全局文件中并在编译时,读取此文件并将该版本分配给项目?我只是想消除太多步骤,因为我们计划更频繁地更改版本号.我想在一个地方改变它.可以这样做吗?如何?
在Delphi的早期版本中,我使用数据模块(TDataModule
)作为保留非可视组件的地方,以避免使主表单混乱.在Delphi XE2中,当我创建一个新的数据模块时,它只允许我在其中放置与数据库相关的组件(例如TADOConnection
和TDataSource
).这是为什么以及如何将其他组件放入其中?还有其他选择吗?
如.关闭相关问题 - 下面添加更多示例.
下面的简单代码(找到顶级Ie窗口并枚举其子代)与'32位Windows'目标平台一起正常工作.早期版本的Delphi也没有问题:
procedure TForm1.Button1Click(Sender: TObject);
function EnumChildren(hwnd: HWND; lParam: LPARAM): BOOL; stdcall;
const
Server = 'Internet Explorer_Server';
var
ClassName: array[0..24] of Char;
begin
Assert(IsWindow(hwnd)); // <- Assertion fails with 64-bit
GetClassName(hwnd, ClassName, Length(ClassName));
Result := ClassName <> Server;
if not Result then
PUINT_PTR(lParam)^ := hwnd;
end;
var
Wnd, WndChild: HWND;
begin
Wnd := FindWindow('IEFrame', nil); // top level IE
if Wnd <> 0 then begin
WndChild := 0;
EnumChildWindows(Wnd, @EnumChildren, UINT_PTR(@WndChild));
if WndChild <> 0 then
..
end; …
Run Code Online (Sandbox Code Playgroud) delphi ×10
delphi-xe2 ×10
livebindings ×2
32bit-64bit ×1
compilation ×1
datamodule ×1
delegates ×1
deprecated ×1
enums ×1
exe ×1
file ×1
firemonkey ×1
msbuild ×1
nested ×1
styles ×1
version ×1