小编Wes*_*ato的帖子

如何在Windows XP上显示Windows照片打印向导?

您好我使用Delphi 2010 + Windows XP,您可以在Delphi中调用Windows XP中的照片打印向导.

如何显示Windows照片打印向导?

上面这个提示只适用于Windows 7

谢谢.

windows delphi

3
推荐指数
1
解决办法
416
查看次数

将呼叫从一个班级替换为另一个班级

我想知道是否可以将呼叫从一个类替换为另一个类?

TmyButton = class (TButton)
  procedure Click; override;
end;

initialization
  UnRegisterClass (TButton);
  RegisterClass (TButton);
Run Code Online (Sandbox Code Playgroud)

但是这段代码不能正常工作,有人有任何提示吗?

谢谢

请参阅下面的完整示例,我在启动时调用,但遗憾的是它无法正常工作.

unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
  FMX.Controls.Presentation, FMX.StdCtrls;

type
 TmyButton = class( TButton )
  procedure Click; override;

 end;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.Button1Click(Sender: TObject);
begin
 inherited;
 ShowMessage( 'Hello' );
end;

{ …
Run Code Online (Sandbox Code Playgroud)

delphi firemonkey

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

Delphi优化IndexOf功能

有人可以帮我加速我的Delphi函数在不使用二进制搜索的情况下在字节数组中查找值.

我把这个函数称为数千次,是否可以用汇编来优化它?

非常感谢.

function IndexOf(const List: TArray< Byte >; const Value: byte): integer;
var
  I: integer;
begin
  for I := Low( List ) to High( List ) do begin
   if List[ I ] = Value then
    Exit ( I );
  end;
  Result := -1;
end;
Run Code Online (Sandbox Code Playgroud)

数组的长度约为15项.

arrays delphi for-loop function inline-assembly

0
推荐指数
2
解决办法
534
查看次数

泛型中永远不会调用基类的 Free() 过程

在我的代码中,当我调用Free()该方法时,永远不会调用该类的方法。是否可以在不强制演员的情况下解决这个问题?我尝试使用RTTI,但没有成功。TFirstReleaseInstance()TFirst

这可行,但它没有正确使用泛型:

TFirst(Self.FInstance).Free;
Run Code Online (Sandbox Code Playgroud)

欢迎任何建议,谢谢。

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TSingleton<T: class, constructor> = class
  strict private
    class var FInstance: T;
  public
    class function GetInstance: T;
    class procedure ReleaseInstance;
  end;

type
  TFirst = class
  public
    procedure Free;
  end;

type
  TSecond = class(TFirst)
  end;

type
  TMySingleton = TSingleton<TSecond>;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { …
Run Code Online (Sandbox Code Playgroud)

delphi generics

0
推荐指数
1
解决办法
160
查看次数