我想修补一个例程调用,以便能够通过一些修改自己处理它.我正在写一个资源加载器.我想修补Delphi的LoadResourceModule和InitInheritedComponent例程.我已经在MadExcept.pas单元中检查了PatchAPI调用,但如果我可以将其用于我的项目,则无法弄明白.
我想要类似的东西
我的exe在运行时调用 - > LoadResourceModule - >跳转到 - > MyCustomResourceModule ...
任何关于此的指针都会非常有帮助.
最近我一直在开发一个应用程序,并希望拥有几种类型的集合.我不想为它的类型声明和实现一个新的集合类.因此,我考虑使用泛型,但不确定泛型与普通类型实例相比的性能.性能是我正在关注的主要事情.我的应用程序是时间关键的,甚至减少几百毫秒也是不可取的.
我正在使用Delphi XE3
例如:
ICollectionItem = interface
function GetID : string;
property ID : string read GetId;
end;
TGenericCollection<T: ICollectionItem> = class
function Add(T) : Integer;
end;
Run Code Online (Sandbox Code Playgroud)
相比
TSomeClass = class(TInterfacedObject, ICollectionItem)
function GetId : string;
end;
TSomeClassList = class
function Add(item : TSomeClass) : Integer;
end;
Run Code Online (Sandbox Code Playgroud) 我有一个在Delphi 6中开发的应用程序,它在Windows XP上运行得非常好.大多数控件都是自定义绘制以显示渐变.最近,我在Windows 7上部署了应用程序,之后所有的窗口都显示得很慢.我将其与XP系统进行了比较.
我是否需要处理在Windows 7上运行的额外内容?由于痛苦很多,我在Delphi XE中编译了相同的应用程序,但应用程序行为仍然相同.窗户都开得很慢.
我启用了运行时主题,禁用了自定义绘图,但它没有任何影响.
请帮忙.
我继承了Delphi本机控件的TGroupBox,并重写了它的Paint方法来绘制圆角矩形。
procedure TclTransparentGroupBox.CreateParams(var params : TCreateParams);
begin
inherited;
Params.ExStyle := params.ExStyle or WS_EX_TRANSPARENT;
end;
Run Code Online (Sandbox Code Playgroud)
覆盖创建参数后,Paint方法如下。
procedure TclTransparentGroupBox.Paint;
begin
// Draw the rounded rect to show the group box bounds
Canvas.Pen.Color := clWindowFrame;
Canvas.RoundRect(5, 15, ClientRect.Right - 5, ClientRect.Bottom - 5, 10, 10);
if Caption <> EmptyStr then
begin
Canvas.Brush.Style := bsClear;
Canvas.TextOut(10, 0, Caption);
end;
end;
Run Code Online (Sandbox Code Playgroud)
我面临的主要问题是,我在透明组框顶部没有几个标签。当我打开表单时,标签看起来很好,但是当文本更改时,标签的某些边界矩形将可见。这在透明框的顶部看起来很奇怪。
即使当我调整表单大小时,组框本身也会消失,当我将焦点更改到另一个应用程序并恢复我的应用程序时,组框会自动绘制。
我在绘画方面缺少任何东西吗?我需要照顾的任何Windows消息???
在此先感谢拉胡尔
我是 Wpf 的新手,并遵循 MVVM 模式来设计我的应用程序。我有一个 ViewModel 和一个视图。根据设计,我的 View 知道我的 ViewModel,反之则不然。如果我想在单击按钮时打开另一个窗口,我可以使用一个命令,当用户单击时,该命令将被路由到我的 ViewModel。
但是我将如何创建一个具有自己的视图和 ViewModel 的窗口。我对此有些困惑。我想从 Xaml 本身调用新窗口,因为我的 ViewModel 不知道另一个视图,可能它是视图模型。
为了简单起见,
View1 -> (bound to) ViewModel1
View1 -> Button1.Click -> Command(bound to) ViewModel1
---- how to open View2 -> (bound to) ViewModel2------
Show View2.
Run Code Online (Sandbox Code Playgroud)
谢谢
我想从对象实例动态获取属性值.我能够获得类属性,序数类型和字符串.GetPropValue的delphi源不支持tkInterface.有没有办法使用属性信息获取界面.BTW暴露的所有属性都是已发布的属性.
暂时,我使用TObject作为返回类型.GetPropValue返回对象实例的地址.我将其类型化为TObject并返回结果.
delphi ×5
c# ×1
delphi-6 ×1
delphi-xe3 ×1
generics ×1
getproperty ×1
groupbox ×1
mvvm ×1
performance ×1
rtti ×1
viewmodel ×1
windows-7 ×1
wpf ×1
xaml ×1