小编use*_*094的帖子

为什么我们在单位中使用Finalization?

我想知道为什么我们在关闭应用程序时要破坏某些内容时使用"终结"?没有关闭应用程序没有调用直接释放所有对象.Free?

谢谢.

delphi

12
推荐指数
2
解决办法
1334
查看次数

如何在Delphi中提取网站源代码

我需要一种方法来在Delphi中提取网站源代码并将其放在TStrings或TStringList中

在Internet Explorer中单击"查看源"时,它将以完全相同的方式打开记事本并显示源代码.

也许我们可以使用TWebBrowser或者我不知道谢谢.

delphi

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

我可以使用.Create(Nil)代替.Create(应用程序)

我有一个具有TComponent变量的单元,我在单元初始化时创建这个组件,如下所示:

var
  XComp: TComponent;
.
.
.
.

initialization
begin
  XCom := TComponent.Create(Application);
end;
Run Code Online (Sandbox Code Playgroud)

我关闭Delphi后安装单元后,它给我一个访问冲突错误消息(EAccessViolation)

但是当我改变我的创造者时如下

initialization
begin
  XCom := TComponent.Create(nil);
end;
Run Code Online (Sandbox Code Playgroud)

一切都很顺利...我想知道区别吗?什么更好?

注意:只有在关闭delphi时才会出现错误(在设计时意味着).

谢谢.

delphi delphi-xe2 tcomponent

7
推荐指数
2
解决办法
1633
查看次数

如何在Windows XP中将skydrive映射为网络驱动器?

如何在Windows XP/2003中将我的skydrive映射为网络驱动器?

再次,我需要它在Windows XP/2003而不是7既不Vista

networking windows-xp onedrive

4
推荐指数
1
解决办法
2万
查看次数

为什么TEdit中的文本剪辑在第一次创建时不会被更改

嗨,我正在尝试使用TButton构建一个TEdit控件来进行Buttoned Edit,但问题是文本片段位于Button下面而后者没有出现,因为按钮位于它上面.怎么解决这个问题?请注意,当我调用UpdateEditMargins(这是调整文本剪辑的过程)

这是我的代码:

unit YazButtonedEdit;

interface

uses
  SysUtils, Classes, Controls, StdCtrls, Buttons, Messages, Windows, Forms;

type
  TYazButtonedEdit = class(TCustomEdit)
  private
    FEditButton: TBitBtn;
    FButtonWidth: Integer;
    FButtonVisible: Boolean;
    procedure WMSize(var Message: TMessage); message WM_SIZE;
    procedure SetButtonVisible(const Value: Boolean);
    procedure GetEditButtonClick(const Value: TNotifyEvent);
    function SetEditButtonClick: TNotifyEvent;
    procedure SetButtonWidth(const Value: Integer);
  protected
    procedure RefreshButton;
    procedure CreateParams(var Params: TCreateParams); override;
    procedure WndProc(var Message: TMessage); override;
  public
    procedure Notification(AComponent: TComponent; Operation: TOperation); override;
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    procedure UpdateEditMargins;
  published
    property ButtonWidth: Integer …
Run Code Online (Sandbox Code Playgroud)

delphi

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

将新属性添加到TActionList中的Action

如何在Delphi中将新发布的(在Object Inspector中显示)属性添加到TActionList的Action中

属性数据类型是布尔值.

谢谢.

delphi taction tactionlist

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

移动位于WindowManager中的ImageView不能正常工作

我正在尝试在屏幕上的所有内容上绘制一个图标(TOP MOST),类似于新的Facebook Messenger的聊天标题。

我已经创建了一个在后台工作的服务,并根据特定条件我的图标应出现在屏幕上(就像有人在Facebook上向您发送消息时,Messenger服务将挂接该消息并在屏幕上显示聊天头以进行通知关于新消息的内容)

我做了什么:

我已经创建了该服务,并授予它显示系统警报窗口的权限(因为该头部实际上是系统警报窗口)

[assembly: UsesPermission(Name = Android.Manifest.Permission.SystemAlertWindow)]
Run Code Online (Sandbox Code Playgroud)

我已经从ImageView继承了一个类(StickyHeadView),并使用以下方式实现了OnTouchListener侦听器:

class StickyHeadView : ImageView, Android.Views.View.IOnTouchListener
{
    private StickyHeadService OwnerService;

    public StickyHeadView(StickyHeadService ContextService, Context context)
        : base(context)
    {
        OwnerService = ContextService;
        SetOnTouchListener(this);
    }

    float TouchMoveX;
    float TouchMoveY;

    public bool OnTouch(View v, MotionEvent e)
    {
        var windowService = OwnerService.GetSystemService(Android.Content.Context.WindowService);
        var windowManager = windowService.JavaCast<Android.Views.IWindowManager>();

        switch (e.Action & e.ActionMasked)
        {
            case MotionEventActions.Move:
                TouchMoveX = (int)e.GetX();
                TouchMoveY = (int)e.GetY();
                OwnerService.LOParams.X = (int)(TouchMoveX);
                OwnerService.LOParams.Y = (int)(TouchMoveY);
                windowManager.UpdateViewLayout(this, OwnerService.LOParams);                    
                Log.Debug("Point : ", "X: " + Convert.ToString(OwnerService.LOParams.X) …
Run Code Online (Sandbox Code Playgroud)

ontouchlistener android-layout xamarin.android android-imageview android-windowmanager

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

如何在我的delphi项目中从delphi Dll继承自定义表单(可视继承)

我有一个dll(在Delphi中创建),其中包含一个继承自TForm的TGlobalForm

我想在我的项目(Delphi Project)中使用TGlobalForm并从TGlobalForm继承一些表单.

示例TAccountsForm = class(TGlobalForm)

问题是我不想在项目的使用中使用GlobalForm pas文件,我希望它就像你创建一个新表单(File-> New-> Other)并选择(可继承的项目) )在(Delphi Projects)节点下,所以新创建的表单将显示继承表单的项目(按钮,编辑...)(TGlobalForm)

怎么做到这一点?

我正在使用Delphi XE3 - VCL Project

谢谢.

delphi dll inheritance plugins delphi-xe3

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